2017-10-06 9 views
0

Also ich versuche, Backups zu S3-Buckets über Linux zu automatisieren.Cronjob läuft nicht unter Linux

Das Skript, das ich zu laufen versuchen

TIME=`date +%b-%d-%y`   
FILENAME=backup-$TIME.tar.gz  
SRCDIR=/opt/nexus      
DESDIR=/usr/local/backup    
tar -cpzf $DESDIR/$FILENAME $SRCDIR 
aws s3 cp /usr/local/backup/backup.tar.gz s3://s3backup 

Die cronjob läuft, dass Skript 44 11 * * * ./backup.sh

Allerdings, wenn ich versuche, den Backup-Skript ausgeführt werden soll (durch cronjob Aktualisierung) scheint es nicht zu überhaupt arbeiten.

Irgendwelche Ideen, warum es nicht funktioniert?

+0

ist der Cronjob in der Cron im Besitz Ihres Benutzerkontos oder in/etc/crontab? –

+0

Ich setze den Benutzer auf Centos, was korrekt sein sollte – user3013325

+0

Bitte aktualisieren Sie die Frage mit, was es in ''/var/log/cron' 'sagt, wenn der Job ausgeführt wird – Vorsprung

Antwort

1

Sie erstellen eine mit Datum gestempelte Sicherungsdatei, versuchen jedoch, den statischen Dateinamen zu kopieren. Versuchen Sie, den Kopierbefehl in:

aws s3 cp $DESDIR/$FILENAME s3://s3backup 
1

Verwenden Sie keine relativen Pfadnamen in Cron-Job oder Skript.

44 11 * * * ./backup.sh 

Verwenden Sie stattdessen den vollständigen Pfad des Skripts.

44 11 * * * <full_path>/backup.sh 

Darüber hinaus verwenden vollständigen Pfad in Ihrem Skript:

<full_path>/tar -cpzf $DESDIR/$FILENAME $SRCDIR 
<full_path>aws s3 cp /usr/local/backup/backup.tar.gz s3://s3backup 

Sicherstellen, dass der Cron-Job für den Benutzer hinzugefügt wird, die die AWS-Anmeldeinformationen richtig eingerichtet hat.

Verwandte Themen