abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:11 | Komunita

    V Berlíně probíhá konference vývojářů a uživatelů desktopového prostředí KDE Plasma Akademy 2025. Při té příležitosti byla oznámena alfa verze nové linuxové distribuce KDE Linux.

    Ladislav Hagara | Komentářů: 0
    včera 17:11 | Nová verze

    Byl vydán Debian 13.1, tj. první opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.12, tj. dvanáctá opravná verze Debianu 12 s kódovým názvem Bookworm. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

    Ladislav Hagara | Komentářů: 0
    5.9. 23:44 | IT novinky

    Evropská komise potrestala Google ze skupiny Alphabet pokutou 2,95 miliardy eur (71,9 miliardy Kč) za porušení antimonopolní legislativy. Podle EK, která mimo jiné plní funkci antimonopolního orgánu EU, se Google dopustil protisoutěžních praktik ve svém reklamním byznysu. Google v reakci uvedl, že rozhodnutí považuje za chybné a hodlá se proti němu odvolat. EK ve věci rozhodovala na základě stížnosti Evropské rady vydavatelů. Podle

    … více »
    Ladislav Hagara | Komentářů: 11
    5.9. 23:11 | Komunita

    Podpora 32bitového Firefoxu pro Linux skončí v roce 2026. Poslední podporované 32bitové verze budou Firefox 144 a Firefox 140 s rozšířenou podporou, jehož podpora skončí v září 2026.

    Ladislav Hagara | Komentářů: 2
    5.9. 19:33 | IT novinky

    Společnost Raspberry Pi nově nabízí Raspberry Pi SSD s kapacitou 1 TB za 70 dolarů.

    Ladislav Hagara | Komentářů: 7
    5.9. 15:55 | Zajímavý software

    Microsoft BASIC pro mikroprocesor 6502 byl uvolněn jako open source. Zdrojový kód je k dispozici na GitHubu.

    Ladislav Hagara | Komentářů: 5
    5.9. 15:33 | IT novinky

    Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) se připojil k dokumentu „A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity“, který vydala americká Agentura pro kybernetickou a infrastrukturní bezpečnost (CISA) s Národní bezpečnostní agenturou (NSA), spolu s dalšími mezinárodními partnery. Dokument vznikl v rámci globálního expertního fóra pro SBOM, které má za cíl motivovat k širšímu využívání … více »

    Ladislav Hagara | Komentářů: 3
    4.9. 21:22 | IT novinky

    Švýcarská AI centra EPFL, ETH Zurich a CSCS představila otevřený vícejazyčný velký jazykový model (LLM) s názvem Apertus. Vyzkoušet lze na stránce Public AI Inference Utility.

    Ladislav Hagara | Komentářů: 26
    4.9. 17:22 | Nová verze

    Byl vydán Linux Mint 22.2 s kódovým jménem Zara. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze novou XApp aplikaci Fingwit pro autentizaci pomocí otisků prstů nebo vlastní fork knihovny libAdwaita s názvem libAdapta podporující grafická témata. Linux Mint 22.2 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    4.9. 12:55 | IT novinky

    Čínská společnost Tencent uvolnila svůj AI model HunyuanWorld-Voyager pro generování videí 3D světů z jednoho obrázku a určené trajektorie kamery. Licence ale nedovoluje jeho používání na území Evropské unie, Spojeného království a Jižní Koreje.

    Ladislav Hagara | Komentářů: 1
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (83%)
     (7%)
     (2%)
     (3%)
     (3%)
     (2%)
    Celkem 150 hlasů
     Komentářů: 11, poslední 4.9. 16:12
    Rozcestník

    Zálohování DB (PHP skriptík)

    18.5.2005 22:43 | Přečteno: 3888× | Linux

    Vyrobil jsem si jednoduchý PHP skriptík na zálohování databáze na svých stánkách. Na požádání vyexportuje databázi (mysql) do souboru, volitelně ho zkomprimuje a vypíše URL zálohy. Nic složitého, ale někomu by se to mohlo hodit. (Třeba mě, až na něj zapomenu. ;)

    Při spuštění se to zeptá na typ komprese (bzip2, gzip, bez komprese). Jakmile to ví typ komprese, databázi vyexportuje, zkompimuje a uloží do souboru a zobrazí odkaz na něj. Např. databaze-2005_05_18-21_30.sql.bz2.

    Co si s tím dál uživatel udělá je na jeho fantazii. Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu. Lepší by ale bylo si napsat shellový skriptík (nejlépe volaný pravidelně z cronu), který tuhle stránku zavolá, soubor stáhne a uloží. Případně by se ten soubor dal ještě automaticky nahrát do lokalního mysql serveru pro vývoj doma. Fantazii se meze nekladou.

    
    <?php
    /* Skript na jednoduche zalohovani mysql databaze.
     * Autor: Bohumir Zamecnik - zamecnik.org
     * Licence: GNU LGPL
     */
    $host = "pocitac";
    $user = "uzivatel";
    $pass = "heslo";
    $db   = "databaze";
    $path = getcwd();
    $file="$path/$db-".date('Y_m_d-H_i').'.sql';
    $self = basename($_SERVER["SCRIPT_NAME"]);
    switch($_GET["c"]){
      case "gz"; case "gzip":
        $compress = "|gzip -c"; $file .= ".gz"; break;
      case "bz2"; case "bzip2":
        $compress = "|bzip2 -c"; $file .= ".bz2"; break;
      case "none":
        $compress = "";break;
      default:
        $ask = true;
    ?>
    <p>Typ komprese:</p>
    <ul>
    <li><a href="./<?=$self?>?c=bz2">bzip2</a></li>
    <li><a href="./<?=$self?>?c=gz">gzip</a></li>
    <li><a href="./<?=$self?>?c=none">žádná</a></li>
    </ul>
    <?
    }
    if(!$ask){
    echo "<a href='./".basename($file)."'>".basename($file)."</a>";
    exec("/usr/bin/mysqldump -u $user -p$pass -h $host --opt $db $compress > $file");
    }
    ?>
    

    Ještě může být vhodné si do adresáře na serveru, kde je onen zálohovací skript, pokud tam teda běží Apache, dát vhodně nastavené soubory .htacces a .htpasswd:

    
    $cat .htaccess
    Options +Indexes
    AuthUserFile /cesta/k/adresari/kde/lezi/.htpasswd
    AuthName "Backup"
    AuthType Basic
    Require user uzivatel
    
    $htpasswd -c .htpasswd uzivatel
    
    $cat .htpasswd
    uzivatel:ja_jsem_sifovane_heslo_bla_bla_bla
    

    První řádek v htaccessu nám povolí ukazovat obsah adresáře, pokud tam není výchozí soubor (většinou index.html nebo index.php). To je proto, abychom mohli vidět i staré zálohy. Zbylé řádky se starají o zaheslování pomocí HTTP autorizace. Přece nenecháme naše zálohy ani přístup ke skriptu otevřený veřejnosti. Nakonec si vytvoříme soubor se šifrovaným heslem. K tomu slouží program htpasswd (přibalený k Apachovi), který se nás zeptá na heslo a celé to zašifrovaně uloží do souboru.

    Ani to nebolelo, co? No snad tam někde nejsou překlepy v tom kódu. Jinak, asi existuje dost sofistikovanějších skriptů a programů, ale já jsem potřeboval něco úplně jednoduchého. A pokud se to někomu hodí (byť jako inspirace), budu rád.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    18.5.2005 22:53 Michal Kubeček
    Rozbalit Rozbalit vše hot backup?
    Která z možností je správně?
    • MySQL umí živé zálohy
    • mysqldump zablokuje jakékoli zápisy do databáze po dobou svého běhu
    • hrajete ruskou ruletu a doufáte, že to, co z té databáze vydumpujete, bude jakž takž konzistentní
    Mám neblahé tušení, že správně je třetí možnost, ale rád bych se ujistil…
    18.5.2005 23:17 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: hot backup?
    No --lock-all-tables by způsobilo druhou možnost, pokud je to InnoDB, tak --single-transaction umožní první a jinak nastává ta třetí :-)
    18.5.2005 23:31 Michal Kubeček
    Rozbalit Rozbalit vše Re: hot backup?
    Jste si jistý tou první možností? MySQL, pokud je mi známo, implementuje transakce tradičním způsobem přes zamykání a transakční log. Při této implementaci (čisté) se hot backup prakticky nedá udělat, protože snapshot transakce (i když jen čte) znemožní současný zápis. To je obrovská výhoda databází, které transakce implementují pomocí MGA, tam read only snapshot transakce práci s databází nějak zásadně neomezuje. Některé databáze, které jinak používají zámky a transakční log, ale pro potřeby hot backupu implementují jakési verzování záznamů, tedy vlastně náznak MGA. Proto mne zajímalo, jestli něco takového má i MySQL.
    18.5.2005 23:56 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: hot backup?
    Jsem si poměrně dost jistý vším co jsem napsal, ale nevylučuju, že se pletu, zdrojáky jsem tak do hloubky nezkoumal :-). MySQL jako takové transakce neimplementuje, vždy záleží na storage engine, který se používá.
    InnoDB does locking on the row level and also provides an Oracle-style consistent non-locking read in SELECT statements.
    18.5.2005 23:55 User682 | skóre: 38 | blog: aqarium | Praha
    Rozbalit Rozbalit vše Re: hot backup?
    presne tak.

    odstrasujici zpusob, jak prijit o data.

    bye gf
    Bohumír Zámečník avatar 19.5.2005 07:44 Bohumír Zámečník | skóre: 19 | blog: bohous
    Rozbalit Rozbalit vše konzistence dat
    Tohle já moc neřeším, protože na mém blogu je zatím minimální provoz. Obsah většinou přidávám sám a komentářů moc není. Takže zálohuji, když se zrovna nic neděje.
    "Dobrý den pane, nevíte, která bije?!"
    19.5.2005 08:28 Zdeněk Štěpánek | skóre: 57 | blog: uz_mam_taky_blog | varnsdorf
    Rozbalit Rozbalit vše Re: konzistence dat
    Zdravim

    To je vtip? to je jako kdybys rekl ze ted si muzu dovolit delat pod rootem protoze mam pomalej internet a tak mi skoro nic nehrozi. Priznam se ze zas v mysql tolik zbehlej nejsem, ale uznam, ze kdyz mi nekdo poradi ze zpusob kterym neco delam je nevhodny tak to minimalne prozkoumam.

    Podivej se na zdrojaky phpmyadmina jak to tam resi, je tam presne to co delas ty, akorat je to klikaci. Co ja vim tak je na to primo i nejakej SQL dotaz a tobe staci to presmerovat do souboru.

    Zdenek
    www.pirati.cz - s piráty do parlamentu i jinam www.gavanet.org - czfree varnsdorf
    19.5.2005 09:08 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
    Rozbalit Rozbalit vše Re: konzistence dat
    phpMyAdmin to řeší velmi podobně jako mysqldump, tam prostě není co vymyslet.
    19.5.2005 11:00 kavol | skóre: 28
    Rozbalit Rozbalit vše Re: konzistence dat
    Podivej se na zdrojaky phpmyadmina jak to tam resi, je tam presne to co delas ty, akorat je to klikaci.
    hm, na phpMyAdmin jsem taky pomyslel, a když jsem četl:
    Někomu stačí si ten soubor jednoduše stáhnout a uložit někam do archivu.
    tak jsem pak chvíli dumal, na co vlastní skript ...?
    19.5.2005 12:05 Michal Kubeček
    Rozbalit Rozbalit vše Re: konzistence dat
    Tohle je poměrně častá otázka, ale zálohovat databázi kopírováním opravdu není dobrý nápad. Ale jak už tu padlo v diskusi, nedáte-li si pozor, mysqldump nemusí být o moc lepší…
    Bohumír Zámečník avatar 19.5.2005 21:53 Bohumír Zámečník | skóre: 19 | blog: bohous
    Rozbalit Rozbalit vše Re: konzistence dat
    Zalohování malé databáze a brouzdání pod rootem není to samé. Tenhle skriptík jsem si napsal jako frontend k mysqldump u, protože jsem nechtěl se pořád proklikávat phpMyAdminem a chtěl jsem si to trochu zautomatizovat. Pořád lepší než nezálohovat vůbec, že ano? Nejsem databázový odborník a možnost poškození dat při probíhajících transakcích zní celkem logicky.

    Příkaz mysqldump volám proto s parametrem --opt, což je zkratka pro mysqldump --quick --add-drop-table --add-locks --extended-insert --lock-tables. Právě pomocí --lock-tables se před vlastním dumpem zamknou tabulky, aby se v nich nic nemohlo měnit. Dále je tam volba --add-locks, která do dumpu přidá příkazy pro opětovné zamknutí tabulek, při nahrávání do databáze. Tak jsem to alespoň pochopil z manuálu.

    Kdyby se jednalo o web s třeba tisíci a více přístupů za den, kde to opravdu žije, databáze a konzistence dat by mě asi trochu zajímala více. Ale tohle jsou zatím obyčejné osobní stránky se skromným trafficem. Takže mě to zatím nějak moc netrápí. A nouzi nejhorší můžu použít nějakou starší zálohu a zkusit to mergnout s tou nejnovější, která by byla poškozená tak, aby se ztratilo, co nejméně informací.
    "Dobrý den pane, nevíte, která bije?!"

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.