PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Automatisches Datenbank Backup per Script und Cronjob ?



bloodie
11.06.09, 18:48
Huhu,

und zwar möchte ich gerne auf einem vServer tgl. ein Backup der dort vorhandenen MySQL DB über mysqldump machen.

Meine Idee ist ein Script zu erstellen und dazu einen Cronjob der das Script um z.B. 5h morgens ausführt, ist das so ohne weiteres machbar oder muss ich noch irgendetwas beachten ?

Ein weiteres Problem ist das ich in dem Script ja den mysqldump Befehl eingebe mit dem Namen der .sql Dtei die er erstellen soll. Um da einen bessere Übersicht der Backups zu haben ist es möglich das er dort für jedes Backup da so ne Art Timestamp reinschreibt z.B. : backup"timestamp, also datum".sql ?
Oder gibt es eine bessere Lösung ?

HirschHeisseIch
11.06.09, 19:22
Ja, kannst so machen.


Und fürs Timestamp:

echo "tolles-backup-file-$(date +%d.%m.%y).sql"
tolles-backup-file-11.06.09.sql

bloodie
11.06.09, 19:44
Lol ;)

Merci !

oziris
11.06.09, 20:54
... und vergesse nicht, gelegentlich die Logs zu kontrollieren, sonst scheitert das Backup vielleicht unbemerkt und wenn Du's dann mal brauchst, sieht's düster aus!

mamue
13.06.09, 13:06
Man könnte auch als winzige Erweiterung:


#! /bin/sh
#mysqlDumpAll.sh
mysqldump --all-databases > /backup/mysqldump-$(date -I).mysql
gzip -9 /backup/mysqldump-$(date -I).mysql


Als crontab, um die Ausgabe zu protokollieren:
0 5 * * * mysqlDumpAll.sh >> /tmp/mysqldump.log 2>&1

Date -I gibt das Datum im ISO-Format aus (JJJJ-MM-TT). Das sieht nachher in der Sortierung im Dateisystem etwas besser aus, finde ich.

mamue