PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup per Cronjob auf Band



Morfio
09-10-2006, 14: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 ...

Morfio
09-10-2006, 14:04
Achso, wenn ich mir die Fehlerausgabe von tar ansehe steht dort, dass auf das Laufwerk nicht zugegriffen werden kann.

Wenn ich dann in den Cronjob ein "root" vor den Befehl schreibe, führt er ihn gar nicht erst aus.

Morfio
09-10-2006, 15:32
Hi,

keine Ahnung, warum, aber jetzt geht's auf einmal. Ich weiss allerdings nicht, was ich gemacht habe. Das Script hatte noch die falschen Rechte, allerdings keine Ahnung, warum sich das so auf tar bei Bändern auswirkte. Anscheinend hat Cron das als der user ausgeführt, dem die Datei gehörte.

Viele Grüße,

Morfio ...