2017-10-06 46 views
0

所以我试图通过linux自动备份到S3存储桶。Cronjob没有在Linux中运行

我试图运行的脚本

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 

的的cronjob运行该脚本是44 11 * * * ./backup.sh

但是每当我试图运行备份脚本(通过更新的cronjob)它似乎并没有一直在工作。

任何想法,为什么它不会工作?

+0

是您的用户帐户拥有的cron中的cronjob,还是在/ etc/crontab中? –

+0

我将用户设置为应该正确的centos – user3013325

+0

请在作业运行时使用'/ var/log/cron'中的内容更新问题 – Vorsprung

回答

1

您正在创建日期标记的备份文件,但试图复制静态文件名。尝试将复制命令更改为:

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

不要在cron作业或脚本中使用相对路径名称。

44 11 * * * ./backup.sh 

而是使用脚本的完整路径。

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

此外,使用完整路径,在你的脚本:

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

确保cron作业添加了谁的AWS凭据设置正确的用户。