Autor Zpráva
sedgar
Profil *
Dobry den,

vytvaram php skript pre zalohovanie db pomocou mysqldump.exe, neviem si uz rady... stale to nefunguje... subor sa sice vytvori ale databaza sa do neho nezalohuje...

$akt_dat = getdate();
$cas = date('Ymd_His');
$soubor=fopen("c:\\Program Files\\xampp\\ppp\\_db_zal\\db_".$cas.".sql", "w");
fclose($soubor);
$soubor1 = "c:\\Program Files\\xampp\\ppp\\_db_zal\\db_".$cas.".sql";
$soubor2 = "c:\\Program Files\\xampp\\mysql\\bin\\mysqldump.exe";
exec("$soubor2 --user=root opz_portal > $soubor1");

- cesty su dobre
- nazov db tiez
- heslo nemam... bude :D

Dik.
bukaj
Profil
sedgar
Podíval bych se po fci proc_open(), protože poskytuje mnohem větší možnosti pro spuštění programů. Pokud je skript spouštěn přes server, myslím, že by to mohlo být tím, že mysqldump vypíše nějaká data do chybového výstupu (stderr), ale ten server zahodí, protože posílá do prohlížeče jenom standardní výstup (stdout).

Taky bych zkusil odstranit to přesněrování do souboru -- jestli to vůbec něco vypíše normálně. (Bude to chtít nejspíš použít druhý parametr exec()u).
sedgar
Profil *
dik za radu, ten exec som nerozbehal...

pls. mohol by si mi pomoct s tym proc_open? moc sa mi nedari... asi tomu moc nerozumiem...
ako by funkia vyzerala v mojom pripade?

dik.
bukaj
Profil
sedgar
ako by funkia vyzerala v mojom pripade?
Podobně jako je ten příklad v manuálu.

Snaž se, však na to přijdeš ;o)
sedgar
Profil *
HOTOVO,

takze pokus o zalohovanie pomocou php skriptu dopadol podla ocakavania... neuspesne... :(
podarilo sa mi to pomocou bat suboru, ktory som dal do zoznamu planovanych uloh...

SET cesta=c:\Program Files\xampp
CHDIR "%cesta%\mysql\bin\"
mysqldump.exe --user=root opz_portal > "%cesta%"\ppp\_db_zal\zaloha.sql
for /f "tokens=1-5 delims=. " %%d in ("%date%") do rename "%cesta%\ppp\_db_zal\zaloha.sql" db_%%f%%e%%d.sql

poznamky:
- premenna cesta je nutna kvoli "program files" - ktory sa pri priamom zapise do cesty v prikazoch chybne precita...
- zaloha sa ulazi do suboru zaloha.sql
- ten sa premenuje na db_YYYYMMDD.sql

PS. mozno sa to da aj jednoduchsie... nieco podobne som robil prvy krat.

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:

0