0

我有一个脚本,它从我的 s3 存储桶下载文件,覆盖现有文件。目的是每天运行一次脚本,以便不断覆盖和更新文件。

这是 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 更改为:* * * * *

输出日志看起来很正常,并且看起来好像命令正在正常执行。

我的问题是:为什么该命令不适用于此:

03 23 * * *

但是* * * * *有效 - (只有一次,文件被替换,但仍然无法更新)。

谢谢。

4

1 回答 1

1

如果cron作业在 Amazon EC2 实例上运行,请注意这些实例UTC用作它们的时区

因此,crontab 可能正在工作,但您还没有等到它实际运行的时间。如果您将其放置 24 小时,您可能会发现它确实有效,但它会在 UTC 晚上 11 点运行,而不是您个人时区的晚上 11 点。

要解决此问题,请将您的本地时间转换为 UTC。(有在线工具可以帮助解决这个问题。)

于 2020-01-10T04:16:48.450 回答