Cronjob没有在Linux中运行
问题描述:
所以我试图通过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)它似乎并没有一直在工作。
任何想法,为什么它不会工作?
答
您正在创建日期标记的备份文件,但试图复制静态文件名。尝试将复制命令更改为:
aws s3 cp $DESDIR/$FILENAME s3://s3backup
答
不要在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凭据设置正确的用户。
是您的用户帐户拥有的cron中的cronjob,还是在/ etc/crontab中? –
我将用户设置为应该正确的centos – user3013325
请在作业运行时使用'/ var/log/cron'中的内容更新问题 – Vorsprung