Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.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 S3下载无法从crontab脚本运行_Amazon Web Services_Amazon S3_Amazon Ec2_Terminal_Cron - Fatal编程技术网

Amazon web services S3下载无法从crontab脚本运行

Amazon web services S3下载无法从crontab脚本运行,amazon-web-services,amazon-s3,amazon-ec2,terminal,cron,Amazon Web Services,Amazon S3,Amazon Ec2,Terminal,Cron,我以前也发过关于这个问题的帖子,我想我已经解决了,但不幸的是,我仍然不知道到底发生了什么 简而言之:我在s3存储桶中有一个JSON文件,它每天都会更新。我的crontab脚本(设置为每天运行一次)将文件从s3存储桶下载到本地目录,覆盖本地目录上的现有文件。该脚本在Mac终端上本地运行。其目的是每天运行一次脚本,以便不断覆盖和更新文件 我已经验证了s3存储桶中的JSON文件正在不断更新,所以我认为这不是问题所在 下面是crontab上的命令: 03 23 * * * /Library/Framew

我以前也发过关于这个问题的帖子,我想我已经解决了,但不幸的是,我仍然不知道到底发生了什么

简而言之:我在s3存储桶中有一个JSON文件,它每天都会更新。我的crontab脚本(设置为每天运行一次)将文件从s3存储桶下载到本地目录,覆盖本地目录上的现有文件。该脚本在Mac终端上本地运行。其目的是每天运行一次脚本,以便不断覆盖和更新文件

我已经验证了s3存储桶中的JSON文件正在不断更新,所以我认为这不是问题所在

下面是crontab上的命令:

03 23 * * * /Library/Frameworks/Python.framework/Versions/3.7/bin/aws s3 cp s3://sfbucket.bucket/sf_events.json /Users/Documents/TownSounds_Javascript/data/sf_events.json >> /Users/Documents/logs3.txt 2>&1
上面的crontab脚本无法运行。我运行它的唯一方法是手动编辑crontab脚本一次:
***

于是它运行了一次,然后又恢复为完全不运行

当我检查logs3.txt时,修改的日期似乎没有更新,这也表明它无法运行

我进一步研究并创建了一个测试crontab脚本:

* * * * * echo `date` >> /Users/Documents/testCrontab.txt
它工作正常,输出完全符合预期

谁能告诉我为什么s3文件的crontab脚本可能无法运行?我是否需要登录到s3,脚本才能完成它的任务并提取文件?AmazonS3在一段时间不活动后自动将我注销,因此这似乎不可行


我已经读到,aws s3 sync可能是我正在寻找的东西?

aws CLI命令失败的原因有很多(在本例中,是aws s3 cp)。。。您(或运行该命令的脚本,例如crontab)需要具有适当的凭据才能与aws资源交互(请参阅:)。您需要检查ACCESS\u KEY和SECRET\u KEY是否可以作为ENV变量使用,或者您可以直接将其提供给aws命令(请参阅:)

mninoruiz-谢谢,我已经按照您的指示输入了我的访问密钥、SECRET ACCESS KEY和region name。如果我这样做,我的crontab脚本是否应该在上面工作?我应该使用“aws s3 cp”命令,对吗?试试!aws S3 cp和sync执行不同的功能,请联机查看说明。。。所以,这取决于你想做什么,但是这个世界是和你一样的。你是第一个能够解决这个问题的人。它现在工作了,我只需要运行我的凭证。