我有一个运行Ubuntu 14.04的Digital Ocean Droplet(VPS)。我已经安装了s3cmd并能够使用以下命令成功运行同步:
s3cmd sync --recursive --preserve /srv s3://MY-BUCKET-NAME
而且,如果我将相同的命令放入.sh中,以便每分钟作为cron任务运行,则它的工作原理是:
* * * * * sh /srv/backupToS3.sh >> /srv/backupToS3.log
但是,当我向.sh添加一些回显和日期时:
echo 'Started:'
date +'%a %b %e %H:%M:%S %Z %Y'
s3cmd sync --recursive --preserve /srv s3://MY-BUCKET-NAME
echo 'Finished:'
date +'%a %b %e %H:%M:%S %Z %Y'
s3cmd同步不再起作用/无法运行。但是回显和日期会打印到日志文件中:
Started:
Mon Jun 8 17:45:01 PDT 2015
Finished:
Mon Jun 8 17:45:01 PDT 2015
任何帮助或朝正确方向的推动将不胜感激。我最初遵循this article做到了这一点。
最佳答案
s3cmd使用位于〜/ .s3cfg的配置文件。可能很难找回。传递--config=/home/username/.s3cfg
并查看是否有帮助。
无论如何,s3cmd不能始终保持不变。官方命令行客户端(aws-cli)在许多方面都更好。
编辑:将其用作您的.sh文件,请确保其具有可执行位(chmod 755 whatever.sh
)。
echo 'Started:'
date +'%a %b %e %H:%M:%S %Z %Y'
/usr/bin/s3cmd sync --recursive --preserve --config=/usr/bin/s3cmd --verbose /srv s3://MY-BUCKET-NAME
echo 'Finished:'
date +'%a %b %e %H:%M:%S %Z %Y'
关于amazon-web-services - 添加回显/日期时,s3cmd无法用作cron任务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30722419/