【问题标题】:bash & s3cmd not working properlybash & s3cmd 无法正常工作
【发布时间】:2015-04-05 08:03:57
【问题描述】:

您好,我在 ubuntu 12.04 LTS 上有一个包含 s3cmd 命令的 shell 脚本。 我为这个shell脚本配置了cron,它适用于本地环境,但不要将文件推送到s3。但是当我手动运行shell脚本时,它将文件推送到s3而没有任何错误。我检查了日志并没有发现任何问题。这是我的 shell 脚本。

#!/bin/bash
User="abc"
datab="abc_xyz"
pass="abc@123"
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

这真的很奇怪。任何建议都会有很大帮助。

【问题讨论】:

  • 现在遇到同样的问题,你解决了吗?

标签: linux bash shell amazon-s3 s3cmd


【解决方案1】:

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

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

【讨论】:

  • 我已将此 cron 添加为 root 用户,并且如果我以 root 用户身份运行相同的 shell 脚本,它工作正常。它将数据传输到 s3 存储桶。
  • cronjob 正在运行吗?你能分享脚本的 crontab 条目吗?
  • 下面是这个 shell 脚本的 crontab 条目。 45 23 * * * /bin/bash /abc/xyz/scripts/rds_bkp.sh > /dev/null 2>&1
  • 只是一个想法:你可以删除“/bin/bash”并让脚本可执行吗?
  • 按照建议进行更改。但是为了您的信息,脚本在 crontab 中成功执行,它只是不将备份发送到 s3 存储桶,而如果手动运行脚本,它会将备份发送到 s3 存储桶。
猜你喜欢
  • 2014-07-09
  • 1970-01-01
  • 2017-09-03
  • 2011-06-13
  • 2015-09-27
  • 1970-01-01
  • 2023-03-10
  • 2016-12-01
  • 2023-03-04
相关资源
最近更新 更多