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? 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 ;-) Gruß, Alex -- 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
Hallo Alex, On Wed, 06.05.2015 13:40:17 Alex Winzer wrote:
Tendenziell würde ich vermuten, dass man das Problem mit dem zusätzlichen Schalter -u bei date lösen kann.
Das haette ich jetzt auch als erstes getan. Aber du kannst das ja durchaus in einer Sandbox testen. Bastle dir doch einfach ein eigenes Land in dem die Sommerzeit nur bis letzte Woche geht und setze dir eine entsprechende TZ-Variable, also z.B. TZ='MINE+1MINESZ+2,M3.5.0,M5.1.0' export TZ Und dann teste dein Script nochmal. Roman -- Roman Fietze Telemotive AG Buero Muehlhausen Breitwiesen 73347 Muehlhausen Tel.: +49 7335 18493-45 http://www.telemotive.de -- 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
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
participants (3)
-
Alex Winzer
-
Manfred Kreisl
-
Roman Fietze