Я пытаюсь запустить скрипт python дважды в день — один раз в 8:00 утра и еще раз в 8:00 вечера. Я надеялся сохранить вывод скрипта в текстовом файле на моем компьютере с именем LOG_{дата-время}.txt, чтобы я мог просмотреть файлы "log" в случае, если что-то пойдет не так со скриптом. Я настроил следующее задание cron:
0 8,20 * * * python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt
После настройки задания cron я проверил скрипт после 20:00 и заметил, что мой скрипт еще не был запущен (я настроил его на обновление файла электронной таблицы и оставление временной метки после каждого обновления).
Я провел небольшое устранение неполадок самостоятельно и обнаружил, что если запустить задание cron без выходной части, то оно будет работать (я также обнаружил, что журналы заданий cron выводятся в формате UTC, а не по системному времени, но это проблема для другого раза):
0 8,20 * * * python3 /script/working/directory/Script.py
Я что-то упускаю? Разве это не должно сохранять вывод скриптов в файл? Я немного новичок в этом деле и пытаюсь научиться по ходу дела, но я просто не уверен, куда это девать. Было бы неплохо иметь возможность сохранять вывод моего скрипта для целей отладки.
решение1
Основная причина, по которой я могу предположить, заключается в том, что путь к журналу не существует, либо у вас нет прав на запись в этот путь.
Попробуйте выполнить команду вручную вместо cron
python3 /script/working/directory/Script.py > /script/working/directory/logs/LOG_"$(date +"%d-%m-%Y")".txt
Скорее всего, вы увидите ошибку в своем терминале.