PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Backup-Script funktioniert nicht als Cronjob



psy
08-07-2005, 09:37
hi,

hab mir ein kleines shell-script geschrieben, was mir meine mysql-db's dumped, diese dann packt und per mail an mich schickt.

führe ich das script manuell aus, funktioniert es einwandfrei, läuft es aber automatisch um 0 uhr per cronjob, dann werden die sql-dateien nicht gelöscht und ich bekomme nur eine mail mit anhang, welcher 45kb groß ist, in dem archive ist aber nix drin.

jemand eine idee?



#!/bin/sh

# timestamp setzen
datum=$(date +%Y%m%d)

# datenbank dump
mysqldump db1 > /home/backups/db1_$datum.sql
mysqldump db2 > /home/backups/db2_$datum.sql
mysqldump db3 > /home/backups/db3_$datum.sql
mysqldump db4 > /home/backups/db4_$datum.sql
mysqldump db5 > /home/backups/db5_$datum.sql

# db's packen
tar czvf datenbanken_$datum.tar.gz *.sql

# aufräumen
rm -f *.sql

# mail mit anhang versenden
nail -s datenbanken_$datum -a datenbanken_$datum.tar.gz meine@adresse.de << EOF

peschmae
08-07-2005, 09:56
Wenn sowas von Cron ausgeführt wird dann sind die normalerweise gesetzten Umgebungsvariablen nicht gesetzt (oder nicht so wie sie normalerweise sind).

D.h. entweder setzt du PATH selber oder du führst Aufrufe wie
mysqldump
als /usr/bin/mysqldump aus. Und natürlich musst du auch sonst überall aufpassen - das rm -f *.sql löscht die SQL-Dateien im aktuellen Ordner (/ oder sonst irgendwas aber sicher nicht in /home/backups/ wie wohl vorgesehen)

MfG Peschmä

psy
09-07-2005, 11:16
ok, danke peschmae :)