Cronjob没有在Linux上运行

时间:2017-10-06 11:54:19

标签: linux amazon-web-services amazon-s3 cron

所以我试图通过linux自动备份到S3存储桶。

我试图运行的脚本是

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),它似乎根本不起作用。

为什么它不起作用的任何想法?

2 个答案:

答案 0 :(得分: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

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

答案 1 :(得分:1)

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

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