cod*_*iew 2 cron amazon-s3 amazon-web-services cron-task s3cmd
我有一个运行 Ubuntu 14.04 的 Digital Ocean Droplet (VPS)。我已经安装了s3cmd并且能够使用以下命令成功运行同步:
s3cmd sync --recursive --preserve /srv s3://MY-BUCKET-NAME
Run Code Online (Sandbox Code Playgroud)
如果我将相同的命令放入 .sh 以每分钟作为 cron-task 运行,它会起作用:
* * * * * sh /srv/backupToS3.sh >> /srv/backupToS3.log
Run Code Online (Sandbox Code Playgroud)
但是当我向 .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'
Run Code Online (Sandbox Code Playgroud)
s3cmd 同步不再工作/运行。但是回声和日期会打印到日志文件中:
Started:
Mon Jun 8 17:45:01 PDT 2015
Finished:
Mon Jun 8 17:45:01 PDT 2015
Run Code Online (Sandbox Code Playgroud)
任何帮助或朝着正确方向推动将不胜感激。我最初是按照这篇文章走到这一步的。
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'
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2193 次 |
最近记录: |