Záloha dat z webhostingu WEDOS

Před asi 14 dny měl Wedos nepříjemný výpadek. Také mne postihl, ale nic jsem jim nevyčítal. Vědí kde se stala chyba a poučí se z ní. Jeden známý si uvědomil, že vlastně nemá zálohy dat z webhostigu. Udělal jsem mu takový malý prográmek, který umí zálohovat soubory z FTP na jedno kliknutí. Spolu se soubory zálohuje i databázi. Třeba se to bude hodit i někomu jinému.

Proč zálohovat

WEDOS na svém webu popisuje velmi přesně jak často zálohuje a k čemu zálohy slouží. U nejlevnější varianty webhostingu má zálohy pouze pro vlastní potřebu a záloha může být stará až jeden týden. To je pro navštěvovaný web docela dlouhá doba. Dále je pak obnova dat z jejich interní zálohy zpoplatněna částkou 500 Kč bez DPH. Myslím si, že je lepší občas kliknout na tu jednu ikonu, ušetřit tím 605 Kč (s DPH) a mít zálohy aktuálnější.

Jak zálohovat

Možností je několik. Můžete se ručně připojit na FTP server pomocí programů jako TotalCommander, FileZilla a zkopírovat soubory na lokální disk. Pak se přihlásit do PHP MyAdmina, vyexportovat databázi, přidat ji k souborům z FTP a celé to zazipovat. Při troše cviku, ze to dá zvládnout za pár minut. Lze použít script, který si buď napíšete sami, nebo jej stáhnete odněkud z Internetu a upravíte pro vlastní potřebu.

WeZal

Velmi jednoduchý program, který vám umožní bezbolestnou zálohu dat webhostingu a to včetně databáze.

wezal

Jen tři tlačítka. Vlastně jen dvě, to prostřední použijete asi jen jednou. Tedy v ideálním případě. Aby bylo zálohování takto jednoduché, je potřeba udělat pár kroků.

Nastavení na straně webhostingu

Na straně webhostingu je třeba udělat pouze jednu věc, nic složitého. Budete to dělat pouze jednou, pak už bude stačit jen klikat na tu jednu ikonu :-).

Soubory na FTP

Aby bylo možná zálohovat mým klikátkem i databázi, je nutné před stažením vytvožit dump databáze a uložit jej mezi soubory. Stáhněte si zálohovací script, po rozbalení vznikne adresář wezal. V něm si otevřete soubor backup.php v poznámkovém bloku (v TotalCommanderu klávesou F4). Na několika prvních řádcích je uvedeno toto:

//heslo, ktere budete pouzivat pro zalohovaci script, udelejte jej dostatecne dlouhe
//toto heslo pak zadate do nastaveni programu Wezal, nemusite si ho pamatovat!
$tajneHeslo = "DanovaNejobl9ben2j39Poh8dkaJePras8tkoPepa!";
//nazev databazoveho serveru
$server   = "wmXX.wedos.net";
//nazev databaze
$database = "d57913_mojedb";
//uzivatelske jmeno, pouzijte uzivate s omezenym pristupem, ktery Wedos automaticky vytvari
$username = "w57913_mojedb";
//heslo
$password = "ToHesloZEmailu";

 

kde $tajneHeslo obsahuje vámi zvolené heslo, pomocí kterého se ověří, že jste to opravdu vy, kdo chce dělat zálohu, $server obsahuje adresu MySQL serveru, $username uživatelské jméno pro přístup k databázi a $password heslo. Velmi doporučuji použít uživatelské jméno a heslo uživatele, který má pouze omezená práva k databázi. Tento uživatel byl vytvořen automaticky a najdete ho v emailu, který vám WEDOS zaslal při zřízení databáze. Při kopírování údajů z emailu pozor na mezery na začátku resp. konci textu!

Adresář wezal nakopírujte na web přes FTP tak, aby se na backup.php dalo dostat pomocí prohlížeče webu (já jej dal přímo do adresáře www). Při kopírování pozor, podadresář data obsahuje také soubor .htaccess, který zabrání stahování jeho obsahu prohlížečem. Nemůže se tak stát, že by někdo stáhl obsah vaší databáze ještě před tím, než bude vytvořena záloha a soubor smazán.

Na straně webhostingu máme hotovo. Teď ještě nastavit zálohovací program.

 Nastavení programu

To je ještě jednodušší než předchozí. Po klepnutí na ikonu Nastavení se vám ukáže toto okno:

wezal_nastaveni

Adresa FTP serveru spolu s přihlašovacími údaji bude uvedena v emailu, který jste dostali od WEDOSu při zřízení webhostingu. Adresář s webem je cesta, ve které leží váš webhosting. Neupoužívám subdomény, proto pouze /www/. Nemá cenu archivovat PHP session a další věci z kořenového adresáře FTP.
Aby mohl program před vlastním stažením dat z FTP udělat zálohu databáze, musí se záloha nejprve vytvořit. To zařídí script, který jste na FTP nakopírovali  v návodu o kousek výše. Do kolonky Adresa scriptu pro zálohu databáze uveďte adresu jakobyste ji psali přímo do prohlížeče. Např. pokud jste na FTP do adresáře www nakopírovali adresář wezal, bude cesta http://vasedomena.cz/wezal/backup.php. Do položky Heslo nakopírujte text, který jste si zvolili jako ochranu před nežádoucím spuštěním zálohy databáze. V mém testovacím případě to bylo „DanovaNejobl9ben2j39Poh8dkaJePras8tkoPepa!“ (bez těch uvozovek). Heslo si program zapamatuje, nemusíte jej pokaždé opisovat :-). Po zálohování se automaticky smaže záloha databáze z FTP, proto je nutné správně uvést adresář, do kterého se ukládá záloha databáze. Sice se na vytvořený soubor nedá dostat z prohlížeče, to zajistí soubor .htaccess, ale podle pravidel WEDOSu, není dovoleno mít na disku soubory, na které se neodkazujete z prezentace. Předpokládám, že kontrolovat by to začali až by soubory na FTP překročily nějakou velikost, ale není potřeba je dráždit.
Jako poslední nastavení je volba umístění, kam bude program zazipované zálohy ukládat. Výchozí je adresář Dokumenty ve vaše uživatelském profilu ve Windows.

A to je vše přátelé. Klepněte na OK a můžete zálohovat klepnutím na jedno tlačítko.

Další vylepšení

Přechod na FTPS a HTTPS. To bude asi hlavní upgrade v nové verzi. Ono HTTPS už funguje, ale nemá moc cenu použít https, když se pak všechno z FTP tahá nešifrovaně. Pro zkušenější uživatele přidám script, který si mohou dát do plánovače úloh a spouštět jej automaticky. Máte další nápady?

 

P.S. Pokud vám prográmek pomohl, můžete mi poslat na 2700371821/2010 pár korun na pivo :).

Komentáře: 36

    1. Děkuji! Kdybyste měl návrh na vylepšení dejte mi, prosím, vědět. Je návod na nastavení dostatečně srozumitelný?

      Petr

  1. Vypadá to jako skvělé řešení! Je pravda že u Wedosu je záloha přes FTP velmi pomalá, omezená časově i velikostí, u WebFTP lze zipovat jen malé soubory a malé množství – omezeno časem…. Mám všeak dotaz, když má můj web na Wedosu kolem 30GB jako celek bez databází, bude tento způsob zálohy fungovat? Je možné rozdělit archiv na více menších zipů? A je možnost používat tento program v linuxu (Ubuntu), funguje přes Wine? Díky za odpověď.

    1. ano, i záloha 30GB by měla fungovat, jen to bude trvat déle. ZIP by snad jít rozdělit měl, zatím jsem nezkoumal.

      Pod WINE to určitě bude chodit, program je napsán tak, aby šel zkompilovat i pod Linux. Jestli chcete, mohu doplnit i 32bit/64bit binárku pro Linux. Ubuntu /Kubuntu je můj primární systém.

  2. JInak při livechatu s Wedosem mi nabídli jako řešení jejich virtuální Disk k webhostingu nebo serverhosting – samozřejmě za více peněz.

    1. to není úzplně pravda, virtuální disk máš ke každému hostingu zdarma, jen nevím jak na to automatické zálohování

  3. Ahoj,
    dnes při pokusu o stažení programu mi to Avast zablokoval. Mrkni na to:-)
    Hodně štěstí.

    1. Děkuji za zprávu! Poslední dobou mi přijde, že Avast je silně paranoidní. Nepodepsané binárky jsou dosti znevýhodněny :-(. A automatické spouštění binárek v sandboxu je fakt silně přes čáru. Tedy alespoň z mého pohledu.

  4. Ahoj,
    dnes jsem si to nastahoval upravil soubor backup.php a nakopíroval složku wezal na ftp do adresáře /www/
    Prostě krok po kroku dle návodu. Rovněž nastavení programu dle návodu. Ale při klik na zálohovat mi to vyhodí hlášku
    21.2.2015 19:35:21: Zálohování začíná …

    21.2.2015 19:35:21: Čekám na ukončení zálohy databáze (max. dvě minuty)
    21.2.2015 19:35:21:

    404 Not Found

    Not Found
    The requested URL /wezal/backup.php was not found on this server.

    21.2.2015 19:35:21: Záloha databáze se nepovedla! Špatně zadané heslo?
    21.2.2015 19:35:21: Chyba 0

    Přitom heslo je dobře. Několikrát kontroloval. Na ftp ve složce data se záloha databáze udělá,ale nestáhne se mi do PC
    Díky za radu

    1. Dobrý den,

      když zkusíte zavolat backup.php přímo z prohlížeče, co se stane? Můžete mi, prosím, poslat screenshot Vaší konfigurace na email petr@petrhlozek.cz? Podívám se co by mohlo být špatně.

      Petr

  5. Dobrý den, mám u Wedosu provozované čtyři weby na WordPressu. Lze tento Váš prográmek použít i na zálohování více webů? Není mi to moc jasné, protože vše do scriptu a programu nastavuji pro konkrétní web. Děkuji za odpověď.

    1. Dobrý den,

      bohužel to zatím nelze jednoduše udělat. Jedině byste musel v nastavení měnit přístupové údaje. Požadavků, podobných jako je ten Váš, se mi sešlo několik, upravím program tak, aby uměl zálohovat více webů.

      S pozdravem

      Petr Hložek

  6. Dobrý den, jak to prosím vypadá s prográmkem pro zálohu více webů ? Již se vývoj chýlí ke konci? Jakmile to bude pošlu Vám penízky na pivko 🙂
    Díky

    1. Dobrý den,

      poslední dobou toho mám nějak moc, je to vidět i z četnosti dalších příspěvků na webu :-(. Snad se mi podaří program brzy dokončit a dát na web.

      Petr

  7. Dobrý den,
    chtěl bych se zeptat, jestli by nešlo script nějak upravit tak, aby se dal použít automaticky pomocí cronu a bez Wezalu.

    Jinak tento způsob je super a děkuji moc!

    Děkuji

    1. Dobrý den,

      zatím bohužel ne, ale vše co WeZal dělá se dá udělat scriptem. Na Internetu najdete hromadu návodů jak na to.

      Petr

  8. Zdravím,

    vše jsem nastavil správně (alespoň si myslím), přesto mi to píše tuto chybu:
    29.1.2017 12:30:19: Zálohování začíná …

    29.1.2017 12:30:19: Čekám na ukončení zálohy databáze (max. dvě minuty)
    29.1.2017 12:30:21:
    Warning: set_time_limit() has been disabled for security reasons in /data/web/virtuals/151686/virtual/www/wezal/backup.php on line 37
    d151686_forum-2017-01-29_12-30.sql.gz

    29.1.2017 12:30:21: Záloha databáze se nepovedla! Špatně zadané heslo?
    29.1.2017 12:30:21: Chyba 0

    1. Dobrý den,

      v souboru backup.php na řádku 37 zakomentujte příkaz set_time_limit(0);
      Upravený řádek bude vypadat:

      //set_time_limit(0);

      Po uložení by měl script zase fungovat.

  9. Kam se, prosím, zapisují nastavené hodnoty exe souboru. Např. „Váš počítač->Kam zálohovat“ nelze změnit ani po přeinstalování. Respektive změnit lze, ale zálohy se vytvářejí stále na původním místě.

    1. Pokud si dobře pamatuju, nastavení se ukládá do AppData\WeZal v uživatelském profilu. Přesný název si nepamatuju a nemám po ruce Windows abych program nainstaloval.

  10. Zdravím,
    Udělal jsem vše podle návodu, ale nejsem si jist co znamená
    „Aby bylo možná zálohovat mým klikátkem i databázi, je nutné před stažením vytvožit dump databáze a uložit jej mezi soubory.“
    Jak se dělá dump databáze a kam se má uložit?
    Backup.php jsem nastavil (vložil hesla atd.)
    Děkuji

    1. Dobrý den,

      zálohu udělá právě ten script backup.php. Když správně zadáte údaje pro připojení k databázi, po zavolání backup.php z WEZALu se vytvoří záloha databáze a přidá se mezi soubory, které budou staženy.

      Petr

      1. Občas to napíše nepochopitelnou chybu u nějakého souboru a všechny stažené soubory se začnou mazat…musím stahovat znova a pak přes ftp stáhnout „špatný soubor“ ručně…to je trochu frustrující, když hodinu a půl něco stahujete a najednou „Kritická chyba“ a všechno je v háji…

  11. Zdravime Petre,

    asi to nemate ako prioritu, chapem – ale je nejaka sanca, ze sa tomuto bude este venovat?
    Strasne by ma potesila verzia pre viacero stranok a najme moznost automatickeho spustania v pozadi…
    Diky!
    Patrik

  12. Zdravim Petre,
    naozaj slubny program! Bohuzial, nedari sa mi to rozchodit, ako zopar komentarov vyssie… A mam tento error. Moze to byt ze mam stranku HTTPS? Ked som v nastaveni pre adresu scriptu dal celu adresu s httpS, tak dostanem iny error a nejde to tiez… Toto je error, ked v nastaveni dam iba „http://…
    Diky za pomoc!

    9/2/2019 10:51:18:

    301 Moved Permanently

    Moved Permanently
    The document has moved here.

    9/2/2019 10:51:18: Záloha databáze se nepovedla! Špatně zadané heslo?
    9/2/2019 10:51:18: Chyba 0

    1. Zdravím,

      aktualizované soubory jsem Vám poslal emailem, musím sem dát novou verzi.

      Petr

  13. Zdravím, vytvořil jsem ve složce www adresář wezal, dále podsložku data a do té umístil backup.php. Hesla a servery mám nastavené dobře, po spuštění zálohy mi to píše :

    01.11.2024 12:56:00: Zálohování začíná …

    01.11.2024 12:56:00: Čekám na ukončení zálohy databáze (max. dvě minuty)
    01.11.2024 12:56:00:
    Fatal error: require(): Failed opening required ‚src/MySQLDump.php‘ (include_path=‘.‘) in D:\Sites\web_937254274595686150196\www\wezal\backup.php on line 42

    01.11.2024 12:56:00: Záloha databáze se nepovedla! Špatně zadané heslo?
    01.11.2024 12:56:00: Chyba 0

    poradíte co s tím ? díky moc

    1. Dobrý den,

      problém bude zřejmě se zálohovacím scriptem pro databázi. Nahrál se Vám správně? Důležité jsou i velikosti písmen.

      Petr

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *