Hallo Alex, Am 06.05.2015 um 13:40 schrieb Alex Winzer:
Hallo,
ich sichere meine MySQL-Datenbanken aller 12 Stunden durch cron. Dafür habe ich mir folgendes Skript gebastelt:
backupdir='/srv/mysql/.backup' username='XXXX' password='YYYY' dumpfile='databases.sql' backupfile=`date +%Y_%m_%d_%H`'.tar' oldbackup=`date -d "-7 days" +%Y_%m_%d_%H`'.tar'
if cd $backupdir; then if [ \! -e $backupfile ]; then mysqldump --all-databases --lock-all-tables --force -u$username -p$password > $dumpfile tar cjf $backupfile $dumpfile rm --force $dumpfile $oldbackup chmod u=rwX,go= * -R sync fi fi
Das funktionierte perfekt, bis zur Zeitumstellung Ende März 2015. Danach passte die Uhrzeit nicht mehr (Datumsstempel 1:00 statt 0:00) und mein Skript löschte damit die letzten März-Backups nicht mehr.
Wie kann man das Problem lösen? Das ist schon was vetracktes mit der Zeit
Tendenziell würde ich vermuten, dass man das Problem mit dem zusätzlichen Schalter -u bei date lösen kann. Mangels Datumsumstellung vor Oktober kann ich das aber nicht probieren ;-) Doch, zumindest in die Vergangenheit:
manfred@kmnote5:~> echo $(date -u +%Y_%m_%d_%H) 2015_05_06_12 manfred@kmnote5:~> echo $(date -u -d "-60 days" +%Y_%m_%d_%H) 2015_03_07_12 manfred@kmnote5:~> Siehe da, die Stunde ist dieselbe, sollte also funktionieren, wenn Du dich nicht daran störst, dass die Stunde halt nie korrekt ist Gruß Manfred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org