2015-02-05 40 views
1

嗨,我有一个shell脚本,它包含ubuntu 12.04 LTS上的s3cmd命令。 我为这个shell脚本配置了cron,可以在本地环境下正常工作,但不要将文件推送到s3。但是当我手动运行shell脚本时,它将文件推送到s3而没有任何错误。我检查了日志,并没有发现这一点。这是我的shell脚本。bash&s3cmd无法正常工作

#!/bin/bash 
User="abc" 
datab="abc_xyz" 
pass="[email protected]" 
Host="abc1db.instance.com" 
FILE="abc_rds`date +%d_%b_%Y`.tar.gz" 
S3_BKP_PATH="s3://abc/db/" 

cd /abc/xyz/scripts/ 

mysqldump -u $User $datab -h $Host -p$pass | gzip -c > $FILE | tee -a /abc/xyz/logs/app-bkp.log 

s3cmd --recursive put /abc/xyz/scripts/$FILE $S3_BKP_PATH | tee -a /abc/xyz/logs/app-bkp.log 

mv /abc/xyz/scripts/$FILE /abc/xyz/backup2015/Database/ 

#END 

这真的很奇怪。任何建议将是一个很大的帮助。

+0

现在有同样的问题,你得到它的工作? – edencorbin 2015-10-23 02:53:54

回答

0

检查在crontab中配置的用户是否在环境中具有正确的权限和密钥。

我猜密钥是在env文件中配置的,因为它们不在脚本中。

+0

我已经以root用户的身份添加了此cron,并且如果我以root用户身份运行相同的shell脚本,它工作正常。它将数据传输到s3存储桶。 – 2015-02-06 05:12:28

+0

cronjob是否正在运行?你能分享脚本的crontab条目吗? – Harman 2015-02-06 06:13:53

+0

以下是此shell脚本的crontab条目。 45 23 * * */bin/bash /abc/xyz/scripts/rds_bkp.sh>/dev/null 2>&1 – 2015-02-06 07:58:03