Hallo zusammen,
ich habe irgendwie ein komisches Problem.
Für unser MySQL Backup (Wiki + Zabbix) und Backup der Wiki-Daten habe ich ein paar kleine Backup Scripte erstellt.
Zugegeben ich habe bis vor ein paar Tagen absolut keine Ahnung gehabt von Linux/Ubuntu (und schon gar nicht dem Scripting dahinter), aber das Wiki läuft gut und der Zabbix monitored alles soweit.
Bisher scheinen auch die Backup Scripte im /root/ Verzeichniss auch gut zu funktionieren, jedoch zicken diese beim Aufruf als Cron (in der Nacht) ein wenig rum.
Zunächst einmal das Script in /root/backup_wikizabbix/:
backup_wikizabbix_daily.sh:
#!/bin/bash mysqldump --database wikidb --add-drop-table -B > `date +%y-%m-%d`_wikidb.sql mysqldump --database zabbix --add-drop-table -B > `date +%y-%m-%d`_zabbix.sql zip -r /media/ferrytnas1wiki/backup/daily/`date +%y-%m-%d_%a`.zip /var/www/aswiki/ `date +%y-%m-%d`_wikidb.sql `date +%y-%m-%d`_zabbix.sql -x /media/ferrytnas1wiki/backup/daily/ rm `date +%y-%m-%d`_wikidb.sql rm `date +%y-%m-%d`_zabbix.sql #Count files in directory file_count=`ls -1A /media/ferrytnas1wiki/backup/daily/ | wc -l` #Do until there are less than 8 files present while [ $file_count -ge 8 ] do #Delete alphabetically oldest file rm `ls -lArR /media/ferrytnas1wiki/backup/daily | ruby /root/backup_wikizabbix/lR2fullpath.rb | tail -1` #Count files again file_count=`ls -1A /media/ferrytnas1wiki/backup/daily/ | wc -l` done
Es macht einfach 2 Dumps der Datenbanken 'wikidb' und 'zabbix' und soll diese zusammen mit den Wiki-Daten in ein .zip Verzeichniss packen.
Dieses wird daraufhin auf ein (Windows)Netzlaufwerk in das Verzeichniss /backup/daily/ verschoben.
Die Daten heißen daraufhin: 08-02-20_Mi.zip
Abschließend soll er das Verzeichniss überprüfen und nur die 7 neusten Datein übriglassen.
Dieses Script funktioniert auch, solange ich es direkt unter dem root-Account mit ./backup_wikizabbix_daily.sh aufrufe.
Er macht mir alles wie er soll, ich erhalte auch keine Warnings oder ähnliches.
Jetzt habe ich das via crontab -e in die persönlichen cronjobs des Accounts root eingetragen, in der Hoffnung er würde mir das auch so erledigen wie gewünscht.
crontab -e:
# m h dom mon dow command #0-59 0-23 1-31 1-12 0-6(0=Sunday) /usr/bin/somecommand 0 */4 * * * /usr/bin/ntpdate -u GEREHIDCO004 0 5 * * * /root/backup_wikizabbix/backup_wikizabbix_daily.sh 0 18 * * 0 /root/backup_wikizabbix/backup_wikizabbix_weekly.sh 0 4 1 * * /root/backup_wikizabbix/backup_wikizabbix_monthly.sh 0 1 30 12 * /root/backup_wikizabbix/backup_wikizabbix_yearly.sh #49 9 * * * /root/backup_wikizabbix/backup_wikizabbix_test.sh
Er ruft das Script zwar laut /var/log auf:
"Feb 21 05:00:01 gerehizbx001 /USR/SBIN/CRON[11162]: (root) CMD (/root/backup_wikizabbix/backup_wikizabbix_daily.sh"
Haken dabei: Er erstellt mir eine komische, wenige Kilobyte kleine Datei (anstatt der .zip) im backup-Verzeichniss: ziuN7TRj (29 KB)
Diese Dateinamen variieren immer ein wenig, beginnen jedoch meistens(immer?) mit zi*****. Die Dateigrößen variieren auch manchmal um ganz wenige KB. Nach einem Blick im Editor auf die Datei scheint es mir, dass diese Datei evtl. den Index der .zip Datei gespeichert hat? Es sind zwar viele unleserliche Zeichen darin, aber ein an ein paar Stellen stehen Verzeichniss in voller Länge+Dateinamen in Klartext.
Ich würde mich über ein wenig Unterstützung sehr freuen, habe mir schon viele Stunden dieses Problem um die Ohren gehauen und bin so langsam mit meinem Rat am Ende.
Gruß
-Thomas