AWS перезапись файла s3 не работает с crontab - PullRequest
0 голосов
/ 10 января 2020

У меня есть скрипт, который загружает файл из моей корзины 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 * * *

Но * * * * * работает - (только один раз файл заменяется, но затем все равно не обновляется ).

Спасибо.

1 Ответ

1 голос
/ 10 января 2020

Если задание cron выполняется на экземпляре Amazon EC2, обратите внимание, что экземпляры используют UTC в качестве часового пояса .

Итак, crontab, вероятно, работает, но вы не дождались времени, когда оно действительно побежит. Если вы оставите его в покое на 24 часа, вы, вероятно, обнаружите, что он работал, но он работал бы в 11 часов вечера UT C, а не в 11 часов вечера в вашем личном часовом поясе.

Чтобы исправить это, Переведите ваше местное время в UT C. (Для этого есть онлайн-инструменты.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...