Seite 1 von 1
Cronjob: MySQL Exportieren und Importieren
Verfasst: 18.10.2006, 15:51
von cbatik
Hallo!
Ist es technisch möglich, mittels Cronjob einen MySQLDump zu erstellen und diesen Dump dann automatisch in eine andere MySQL-Datenbank auf einen anderen Server zu importieren. Das heisst: Vom Server1 soll die Datenbank1 täglich auf den Server2 als Datenbank1 importiert und gespeichert werden.
Ist das generell möglich und wenn ja wie?
Danke im Vorhinein und beste Grüße
Christoph
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 18.10.2006, 18:53
von twitch
na klar!
Mach ich auch bei manchen Sachen...
z.B. mit PERL oder PHP...
perl:
# Alle Databases dumpen
system("/usr/bin/mysqldump --all -e -l --add-drop-table --host=$host --user=$user --password=$passwort $dbname > $dir/fullbackup_$datum_zeit.sql") == 0 or &error("Konnte Dump nicht anlegen!");
# Zurückspielen:
system("mysql -e \"source /pfad-zur-datensicherung/datensicherung.sql\" datenbank=);
Schau mal in der MySQL-Doku, was mysqldump alles kann. Da kannst du einiges mit machen...
Cronjobsuche: Täglich Datenbanken / Verzeichnisse sichern
Verfasst: 18.10.2006, 19:06
von ghostrider123
Hi @ll,
ich häng mich mal an diesen Thread dranne, weil es ja um Cronjobs geht. Leider hab ich damit keine Erfahrung, wie man das am besten Codet, sorry.
Also ich würde folgenden Cronjob bzw. einzelne Cronjobs benötigen:
- Datenbanksicherung mit komprimierung (gzip) oder was auf dem Server möglich ist.
- Sicherung eines bestimmten Verzeichnisses auf dem Server inkl. Unterverzeichnisse und enthaltene Dateien inkl. Rechte-Beibehaltung
- Versand dieser Sicherung an externe Emailaddy unter folgender Dateikonvention:
Backup_zuübernehmenderName_Datum_Uhrzeit
können einzelne Cronjobs sein oder ein gesamter.
Wäre nett, wenn er mit Erläuterung zum Code wäre, damit man ihn ggfs. anpassen kann.
Vielen Dank schon mal im Voraus für Eure Hilfe.
Verfasst: 18.10.2006, 19:09
von cbatik
Danke schon einmal für die Antworten. Das Coding in PHP würde mich sehr interessieren. @twitch: Hast Du das auch in PHP bzw. weisst Du wie das zu schreiben ist (bin leider nicht so fit in PHP)?
Danke
Christoph
Verfasst: 19.10.2006, 18:14
von godzilla
Naja, in PHP das selbe in grün

man könnte auch exec() verwenden.
Verfasst: 20.10.2006, 08:44
von Outman
Hallo Leute,
schaut Euch einfach mal das Tool an:
https://www.php-space.info/scripte/date ... utine.html
Gruß Nico
Verfasst: 20.10.2006, 13:01
von busTa
Hm wie sind die beiden Server verbunden? Kann der eine aufs Dateisystem von dem anderen rauf?
Ansonsten schonmal:
Code: Alles auswählen
mysqldump -u benutzer -p DATENBANKNAME > datenbank-dump.sql
Das erzeugt dir die Datei "datenbank-dump.sql" mit dem Inhalt der Datenbank "DATENBANKNAME".
Jetzt mußt du sehn, wie du die Datei auf den anderen Server bekommst.
Da dann:
Importiert die die Datenbank von Server1.
Verfasst: 20.10.2006, 13:45
von sean
die "System" Funktion wird bei vielen Hostern abgeschaltet aus Sicherheitsgründen.
Gruß
sean
Verfasst: 20.10.2006, 13:56
von cren
Wenns über system() oder exec() nicht geht, dann mal als Bash-Script über die CGI-Schnittstelle probieren
Ungefähr so:
Code: Alles auswählen
#!/bin/bash
cd /www/htdocs/verzeichnis
FILENAME="`date +backup_db_%d%m%Y`_dump.sql"
mysqldump -h localhost -u deindatabaseuser --password=deindatabasepassword deindatabasename >$FILENAME --add-drop-table
gzip -9 $FILENAME
rm $FILENAME
Da wirds auch gleich mit gezippt

Verfasst: 20.10.2006, 14:20
von Outman
sean hat geschrieben:die "System" Funktion wird bei vielen Hostern abgeschaltet aus Sicherheitsgründen.
Gruß
sean
Deswegen mein Linktipp^^
Gruß Nico