所以我试图通过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),它似乎根本不起作用。
为什么它不起作用的任何想法?
答案 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