Seite 1 von 1

Mysqldump als Cronjob

Verfasst: 30.09.2006, 00:28
von nocte
Hallo,

Folgenden Code habe ich als Cron gespeichert.
mysqldump usr_web6_1 --host=localhost --user=web6 --password=XXXXX > /home/www/web6/html/~backups/DB/backup_db_`date +%Y_%m_%d`.sql
Das Verzeichnis /home/www/web6/html/~backups/DB/ gibt es und ist schreibbar (0777). Leider legt der Cron trotzdem keine Backups ab.
Folgendes habe ich auch schon probiert:
mysqldump -u web6 -pXXXXX usr_web6_1 > /home/www/web6/html/~backups/DB/backup_db_`date +%y-%m-%d`.sql
hat jemand eine Ahnung wo das Problem liegen könnte?

Die DB hat akuell 10 MB und ca. 35.000 Einträge.


Gruß,
nocte

Verfasst:
von

Verfasst: 30.09.2006, 06:06
von Mincemeat
Eine Zusammenfassung der Möglichkeiten zur Erstellung von Dumpfiles steht z.B. hier: https://hilfe-center.1und1.de/hosting/s ... ken/5.html

Ich nutze die erste Variante mit der php- Datei.

Verfasst: 02.10.2006, 18:29
von ahoia
schon ein

Code: Alles auswählen

/pfad zum mysqldump programm/mysqldump usw...
Probiert?

Verfasst: 04.10.2006, 00:41
von nocte

Code: Alles auswählen

<?php

$host = "dbXX.1und1.de";
$db = "dbXXXXXXXX";
$dbuser = "pXXXXXXX";
$dbpw = "XXXXXXX";

MYSQL_CONNECT&#40;$host, $dbuser, $dbpw&#41; or die &#40; "<H3>Datenbankserver nicht erreichbar</H3>"&#41;;
MYSQL_SELECT_DB&#40;$db&#41; or die &#40; "<H3>Datenbank nicht vorhanden</H3>"&#41;;

$path = getenv&#40;'DOCUMENT_ROOT'&#41;."/DB_backup";
$result = MYSQL_QUERY&#40;"SHOW TABLES"&#41;;
$numrow = MYSQL_NUM_ROWS&#40;$result&#41;;

for&#40;$i = 0;$i < $numrow;$i++&#41; &#123;
  $table = MYSQL_RESULT&#40;$result,$i&#41;;
  echo "$table ... ";
  system&#40;sprintf&#40;"mysqldump --opt -h $host -u $dbuser -p$dbpw $db $table | gzip > %s/$table.sql.gz",$path&#41;&#41;;
  echo "DONE\n\n";
&#125;

MYSQL_CLOSE&#40;&#41;;

?>
->Ich habe jetzt dises Script versucht, doch leider sind die erstellten Dateien fehlerhaft. Es wird zwar für jede Tabelle eine Datei angelegt, diese beihaltet auch einen Kommentar, doch der eigentliche Tabelleninhalt fehlt:
-- MySQL dump 9.11
--
-- Host: localhost Database: usr_web6_1
-- ------------------------------------------------------
-- Server version 4.0.24_Debian-10sarge2
-> mehr Inhalt haben die Dumps nicht.

Ich rufe das ganze mit folgendem Befehl auf:
/usr/bin/php /home/www/web6/files/cron/mysql_dump.cron.php

Verfasst: 04.10.2006, 21:55
von nocte
.. und was ist das genau? Ein Shell-Script? Das müsste ich meinen Provider einrichten lassen..

Verfasst: 05.10.2006, 09:33
von Boa
Das kannste evtl auch im cgi-bin ausführen lassen