Autor Zpráva
Karel Hlavatý
Profil
Zdravím přátelé, prosím o help:

Mám databázi doma na NAS Zyxel, přístup z venku povolen.

define("SQL_HOST","111.222.333.444");
define("SQL_DBNAME","aaa");
define("SQL_USERNAME","bbb");
define("SQL_PASSWORD","ccc");

Dále mám webhosting na forpsi.com, kde je ftp server a můžu pravidelně spouštět scripty.

FTPHOST="ftp.server.com"
FTPUSER="ftp_username"
FTPPASS="ftp_pass"
ADRESÁŘ PRO ZÁLOHY: /WWW/DDD

Mohl by mi prosím, někdo polopatě a konkrétně poradit, jak mám docílit toho, aby se mi databáze pravidelně zálohovala na konkrétní místo na ftp? Načetl jsem toho pytel, leccos i vyzkoušel, ale výsledek = 0.

Díky
Kajman
Profil
Můžete na některém z těch strojů pouštět mysqldump?
Karel Hlavatý
Profil
Kajman:

Tak to je právě to, co nevím ani jak to vyzkoušet. NAS má phpMyAdmin, webserver, ftpserver a klasické úložiště. No a na forpsi.com je "dospělej" hosting = umí kde co, ale já nevím, jak to k tomu zálohování využít.
Kajman
Profil
Můžete se na některý stroj připojit přes ssh (na windows např. klientem putty)?
Karel Hlavatý
Profil
Kajman:

V tuhle chvíli ne, ale kdyby to bylo nezbytné, rozchodil bych to. Nedávno jsem na ten NAS instaloval miniDLNA, takže zhruba vím, o co go. Nicméně pokud by to šlo nějaký jiným způsobem, třeba nějakým scriptem spouštěným na hostingu, byl bych radši.
Karel Hlavatý
Profil
Kajman:

Na NAS, kde běží MySQL se můžu připojit přes SSH. S velkými porodními bolestmi!
Kajman
Profil
A když se tam připojíte a zkusíte příkaz
mysqldump -V
tak tam ten program na zálohování mysql databáze je?
Karel Hlavatý
Profil
Příkaz vrací "command not found"
Kajman
Profil
To je škoda, s ním by to bylo jednodušší (lokálně by se nachystala záloha, zabalila se a pak by se nahrála přes ftp na hosting).

Zálohování i nahrávání tedy bude asi potřeba naprogramovat např. v php. Jsou asi dvě možnosti

a) skript bude na NASu, vytvoří si zálohu a musí ji umět dostat na hosting
b) skript bude na hostingu, skript se bude muset umět připojit k db na NASu, vytvoří si zálohu a uloží si ji
Karel Hlavatý
Profil
Možnost b) by byla asi lepší. Na NAsu není žádný timer, tedy aspoň ne nějak normálně uživatelsky spustitelný.
Kajman
Profil
Zkuste si na hosting nahrát adminer, otevřít si ho v prohlížeči a otestovat, zda se z hostingu dokážete připojit do databáze na NASu (většinou totiž nebývá povoleno přihlášení z jiných počítačů).
Karel Hlavatý
Profil
Ano, toto funguje.
Kajman
Profil
Výborně, tak by mělo jít použit např. tuto kombinaci (ze stránek admineru si stáhněte zdrojové kódy) a pohledat na hostingu řešení, aby se ten skript pouštěl pravidleně nějakým cronem.
Karel Hlavatý
Profil
Skript ukládá prázdný soubor *.sql Pochopil jsem dobře, že je třeba spustit adminer_dump.php, v něm upravit připojovací údaje k db a do patřičných adresářů nakopírovat include soubory? Nakonec jsem nakopíroval celý adresář "adminer-master, skript proběhne bez chyby, ale vytvoří jen prázdný soubor.


Zkoušel jsem to z venku na IP adresu i na NASu jako localhost - výsledek stejný. I pokud záměrně napíšu špatné připojovací údaje. Z obou míst adminer.php funguje.
Kajman
Profil
Zkuste mrknout do error logu apache. Případně zkusit jiní skript na zálohování (přes php moc zkušeností nemám, třeba bude mít tip někdo další).
Karel Hlavatý
Profil
V logu jsem kromě toho, že to nevyčetlo databázi, což už jsem věděl, nic nenašel. Nicméně díky tomu odkazu na adminer_dump.php jsem potom zkusil ten odkaz od Keeehio github.com/Clevis/DatabaseBackup a přes něj od Clevise testnul github.com/Clevis/MySQL-dump - a ten konečně fachčí jak má - tj. spouští se sám v nastaveném čase, z NASu vytáhne databázi a s časovým razítkem uloží na ftp.

Takže děkuji převelice za trpělivost, díky Vašemu směrování jsem se nakonec dostal k řešení. Navíc ten adminer.php je good nástroj - rychlý, jednoduchý.

Díky, K.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: