Amazon web services 添加回音/日期时,s3cmd不作为cron任务使用
我有一个运行Ubuntu 14.04的数字海洋水滴(VPS)。我已安装并能够使用此命令成功运行同步:Amazon web services 添加回音/日期时,s3cmd不作为cron任务使用,amazon-web-services,amazon-s3,cron,cron-task,s3cmd,Amazon Web Services,Amazon S3,Cron,Cron Task,S3cmd,我有一个运行Ubuntu 14.04的数字海洋水滴(VPS)。我已安装并能够使用此命令成功运行同步: s3cmd sync --recursive --preserve /srv s3://MY-BUCKET-NAME 如果我将相同的命令放入.sh中,每分钟作为cron任务运行一次,它就会工作: * * * * * sh /srv/backupToS3.sh >> /srv/backupToS3.log 但是当我在.sh中添加一些回音和日期时: echo 'Started:' d
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
我们将非常感谢您向正确的方向提供的任何帮助或推动。我最初是这样做的。s3cmd使用位于~/.s3cfg的配置文件。它可能很难把它捡起来。传入
--config=/home/username/.s3cfg
,看看这是否有帮助
在任何情况下,s3cmd都没有得到一致的维护。官方命令行客户端(aws cli)在许多方面都要好得多
编辑:将其用作.sh文件,确保其设置了可执行位(
chmod 755 whatever.sh
)
我也有同样的问题,我试图找出它为什么不运行。我的解决方案是在脚本顶部添加以下行:
export HOME=/HOME/$USERNAME
cd/home/$USERNAME
您还应使用以下命令调用s3cmd:
/usr/bin/s3cmd
或者将以下行放在脚本的顶部:
PATH=$PATH:/usr/bin
你是我见过的第二个提到AWS-CLI而不是s3cmd的人(第一个是在一个关于cron任务的类似问题中),也许我会关注这个问题。在我的主目录中没有看到.s3cfg文件(我通过Cyberduck进入droplet,显示隐藏的文件)/home是空的。另外,命令单独运行正常(没有回音和日期行),这不意味着s3cmd工作正常吗?如果没有.s3cfg,s3cmd从哪里读取IAM密钥?啊,用find命令找到它:
find/-name.s3cfg
,它在/root/.s3cfg
中。不过,你对我的另一个问题/评论有何看法?s3cmd运行时没有回音和日期行,这不是工作正常吗?为了确认…我应该把--config=/root/.s3cfg
?这是sm3cmd生产线的产品吗?ie:s3cmd sync--recursive--preserve--config=/root/.s3cfg/srv s3://MY-BUCKET-NAME
PATH=$PATH:/usr/bin