【发布时间】:2020-05-24 03:45:12
【问题描述】:
我之前已经发布过这个问题,我以为我已经解决了,但不幸的是我仍然无法弄清楚发生了什么。
简而言之:我在每天更新的 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 才能使脚本能够执行此操作并提取文件? Amazon s3 在一段时间不活动后自动将我注销,所以这似乎不可行。
我读到aws s3 sync 可能就是我要找的东西?
【问题讨论】:
标签: amazon-web-services amazon-s3 amazon-ec2 terminal cron