Allererste Wichtigkeit bei einem Backup: Wann wurde das Backup angelegt und somit die automatische Bereitstellung eines Datums. Unter Windows gibt es dafür die Umgebungsvarible %DATE%. Hier ein paar beispielhafte Anwendungen:
Mit dem DOS-Batch Befehl set tt=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% erhält die Variable tt den Wert YYY-MM-DD. Das folgende DOS-Batch Beispiel zeigt, wie die typische Sicherung einer MYSQL Datenbank aussehen könnte.
@echo off REM Aktuelle Zeit abrufen set CURRENTTIME=%TIME% REM Zusammensetzung Archivname set tt=%DATE:~6,4%-%DATE:~3,2%-%DATE:~0,2% echo Backup gestartet am %tt% set filename=pirates-production-%tt%.sql del %filename% mysqldump -c pirates-production -u sportwetten --password=sportwetten > %filename% rem Optional: Sicherung auf ein Netzlaufwerk copy %filename% Y:\Applications\betoffice\pirates-production-database
Der Dump wird hier per SCP auf einen anderen Rechner verschoben.
#!/bin/bash CURRENTTIME=`date '+%Y-%m-%d'` echo "Backup date: $CURRENTTIME" FILENAME="pirates-production-$CURRENTTIME.sql" echo "Backup file: $FILENAME" rm $FILENAME mysqldump -c pirates-production -u sportwetten --password=sportwetten > $FILENAME scp $FILENAME awinkler2@192.168.0.2:/cygdrive/f/Applications/betoffice/pirates-production-database
Editieren der crontab Einträge für einen User:
crontab -e
Das Skript möchte ich einmal täglich um 20:20 Uhr ausführen lassen. Dazu eignet sich ein CRON Job am besten. Die Steuerung erfolgt über die folgenden Befehle:
crontab -l
# m h dom mon dow command 20 20 * * * /home/betoffice/bin/backup_betoffice.sh
Dabei haben die Spalten in der crontab die folgende Bedeutung:
rsync --delete -avzbe ssh betoffice@tippdiekistebier.de:~/path/to/server ~/tippdiekistebier --backup-dir=~/old