Я уже писал об этом вопросе и думал, что решил его, но, к сожалению, до сих пор не могу понять, что происходит.
В двух словах: у меня есть один файл JSON в ведре s3, которое обновляется ежедневно. Мой скрипт crontab (настроенный на запуск один раз в день) загружает файл из моего хранилища s3 в мой локальный каталог, перезаписывая существующий файл в моем локальном каталоге. Скрипт запускается локально, на терминале Ma c. Цель состоит в том, чтобы запускать скрипт один раз в день, чтобы файл постоянно перезаписывался и обновлялся.
Я убедился, что файл JSON в корзине 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 не запускается. Единственный способ запустить его - отредактировать скрипт crontab один раз, вручную: * * * * *
, после чего он запускается один раз, а затем возвращается к неработающему вообще.
Когда Я проверяю logs3.txt, дата изменения, по-видимому, не обновляется, что также свидетельствует о том, что он не запускается.
Я провел дальнейшее исследование и создал тестовый скрипт crontab:
* * * * * echo `date` >> /Users/Documents/testCrontab.txt
И он работает нормально, выводя точно так, как ожидалось.
Может кто-нибудь сказать мне, почему Сценарий crontab для файла s3 может не запускаться? Нужно ли входить в систему s3, чтобы скрипт мог выполнять свои функции и извлекать файл? Amazon s3 автоматически выходит из системы после определенного периода бездействия, поэтому это кажется невозможным.
Я читал, что aws s3 sync
может быть тем, что я ищу?
Любая помощь будет очень, очень ценю, так как я уже некоторое время бьюсь об эту голову об стену!
Спасибо.