URL: https://www.overclockers.at/linux/cron_frage_215384/page_1 - zur Vollversion wechseln!
Hi!
Ich hab ein simples backupscript geschrieben, das ich per cronjob ausführen möchte. Das backupscript funktioniert einwandfrei wenn es von der bash aufgerufen wird, wird aber nur zur hälfte ausgeführt wenn es von cron gestartet wird.
mein skript:
Zitat#!/bin/sh
echo "start backup"
rm backup.log
echo "compressing files"
tar -zcvf /root/backup/vhlinuxweb_td2.tar.gz /var/www/vhosts > backup.log
echo "creating sql dump"
mysqldump -u *** -p*** -A | gzip -9 > vhlinuxdb_td2.sql.gz
echo "replacing old backup files"
rm vhlinuxweb_td.tar.gz
rm vhlinuxdb_td.sql.gz
mv vhlinuxweb_td2.tar.gz vhlinuxweb_td.tar.gz
mv vhlinuxdb_td2.sql.gz vhlinuxdb_td.sql.gz
echo "job done. check backup.log if success"
Allerdings ist nix passiert ausser dass er die Datei vhlinuxweb_td2.tar.gz erstellt hat. Die backup.log ist unverändert.Zitatstart backup
compressing files
creating sql dump
replacing old backup files
job done. check backup.log if success
Du solltest auf jeden Fall versuchen, auch stderr deines Scripts einzufangen. Vermutlich findest du eine Kopie davon im syslog (cron facility). Als dreckigen Workaround kannst du als erste Zeile in dein Backupscript
einfuegen, dadurch wird stderr auf stdout fuer diese Instanz deiner Shell umgeleitet. Erst mit den sichtbar gemachten Fehlermeldungen kann man sicher sagen, was schief geht.Code:exec 2>&1
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025