Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 添加回音/日期时,s3cmd不作为cron任务使用_Amazon Web Services_Amazon S3_Cron_Cron Task_S3cmd - Fatal编程技术网

Amazon web services 添加回音/日期时,s3cmd不作为cron任务使用

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

我有一个运行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:'
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