Morfio
09-10-2006, 13:02
Hi,
ich habe ein Problem mit meinem Backup-Script. Wenn ich es normal als root ausführe, funktioniert es tadellos. Wenn ich es per Cron als root ausführe, überhaupt nicht.
Hier einmal das Script:
#!/bin/bash
speicher=`du -sL /server/backup/tape | awk '{print $1}'`
datum_format="%d.%m.%Y_%H.%M.%S"
datum=$(date +$datum_format)
echo "${datum} Backup-Prozess wurde gestartet!" >> /server/backup/backup.log
echo "Verdis und EuroFibu werden lokal gespeichert (/server/backup/tape/eurofibu/${datum})." >> /server/backup/backup.log
cp -vfR /usr/local/moregroupware /server/backup/tape/temp
/bin/tar cvzf /server/backup/tape/eurofibu/${datum}.tar.gz /server/backup/server/temp/Verdis/EUROFIBU
if [ $speicher -lt 118111600640 ]
then
echo "Gesamte Datenbank wird exportiert." >> /server/backup/backup.log
/usr/bin/mysqldump --all-databases --add-drop-table > /server/backup/server/marlin/mysql/marlin.dump
echo "Daten werden auf das Band geschrieben." >> /server/backup/backup.log
tar -v -c -h -b 64 -f /dev/st0 /server/backup/tape
echo "Erfolg - Backup erfolgreich abgeschlossen." >> /server/backup/backup.log
else
echo "Fehlschlag - Backup fehlgeschlagen. Nicht genuegend Speicher auf dem Band frei." >> /server/Backup/backup.log
fi
rm -Rf /server/backup/tape/temp/*
echo "Band-Backup-Prozess wurde beendet!" >> /server/backup/backup.log
echo "Band wird ausgeworfen." >> /server/backup/backup.log
echo "---" >> /server/backup/backup.log
eject -q /dev/st0
Und Cron sieht folgendermaßen aus:
# m h dom mon dow command
0 23 * * * /server/backup/marlin.bash
Die Rechte vom Script sind die folgenden:
-rwxrwx--- 1 root root 2,4K 2006-10-09 12:35 /server/backup/marlin.bash
Was könnte da los sein? Führe ich es per Hand aus, dann funktioniert es einwandfrei. Führe ich es per Cron aus, läuft alles durch, nur nicht die Zeile:
tar -v -c -h -b 64 -f /dev/nst0 /server/backup/tape
Vielen Dank,
Morfio ...
ich habe ein Problem mit meinem Backup-Script. Wenn ich es normal als root ausführe, funktioniert es tadellos. Wenn ich es per Cron als root ausführe, überhaupt nicht.
Hier einmal das Script:
#!/bin/bash
speicher=`du -sL /server/backup/tape | awk '{print $1}'`
datum_format="%d.%m.%Y_%H.%M.%S"
datum=$(date +$datum_format)
echo "${datum} Backup-Prozess wurde gestartet!" >> /server/backup/backup.log
echo "Verdis und EuroFibu werden lokal gespeichert (/server/backup/tape/eurofibu/${datum})." >> /server/backup/backup.log
cp -vfR /usr/local/moregroupware /server/backup/tape/temp
/bin/tar cvzf /server/backup/tape/eurofibu/${datum}.tar.gz /server/backup/server/temp/Verdis/EUROFIBU
if [ $speicher -lt 118111600640 ]
then
echo "Gesamte Datenbank wird exportiert." >> /server/backup/backup.log
/usr/bin/mysqldump --all-databases --add-drop-table > /server/backup/server/marlin/mysql/marlin.dump
echo "Daten werden auf das Band geschrieben." >> /server/backup/backup.log
tar -v -c -h -b 64 -f /dev/st0 /server/backup/tape
echo "Erfolg - Backup erfolgreich abgeschlossen." >> /server/backup/backup.log
else
echo "Fehlschlag - Backup fehlgeschlagen. Nicht genuegend Speicher auf dem Band frei." >> /server/Backup/backup.log
fi
rm -Rf /server/backup/tape/temp/*
echo "Band-Backup-Prozess wurde beendet!" >> /server/backup/backup.log
echo "Band wird ausgeworfen." >> /server/backup/backup.log
echo "---" >> /server/backup/backup.log
eject -q /dev/st0
Und Cron sieht folgendermaßen aus:
# m h dom mon dow command
0 23 * * * /server/backup/marlin.bash
Die Rechte vom Script sind die folgenden:
-rwxrwx--- 1 root root 2,4K 2006-10-09 12:35 /server/backup/marlin.bash
Was könnte da los sein? Führe ich es per Hand aus, dann funktioniert es einwandfrei. Führe ich es per Cron aus, läuft alles durch, nur nicht die Zeile:
tar -v -c -h -b 64 -f /dev/nst0 /server/backup/tape
Vielen Dank,
Morfio ...