У меня есть задание крона ниже настроенного через crontab -e
. Я попытался пройти все предложения в том, Почему crontab сценарии не работают?, но ничто не помогло. Система ясно работает как показано при выполнении sudo grep CRON /var/log/syslog
. Файл run_extraction.sh
имеет хижину наверху и права выполнения с chmod +x
. Файл журнала создается, но ничто не добавляется к нему. Что еще более важно, скрипт Python, кажется, не запущен, поскольку нет никакого вывода, созданного из него. Сценарий удара работает, когда выполнено от командной строки.
Я рассмотрел установку переменных среды, но, учитывая, что даже echo $USER
не производит вывод входа, что-то более фундаментальное, кажется, проблема. Какие-либо идеи?
grep производится
Aug 6 15:41:01 scalablegpu3 CRON[13723]: (myuser) CMD (/raid/myuser/database_extraction/run_extraction >> /raid/myuser/database_extraction/extraction.log)
Aug 6 15:42:01 scalablegpu3 CRON[13730]: (myuser) CMD (/raid/myuser/database_extraction/run_extraction >> /raid/myuser/database_extraction/extraction.log)
Запись Crontab
* * * * * /raid/myuser/database_extraction/run_extraction >> /raid/myuser/database_extraction/extraction.log
Файл Bash
#!/bin/bash
echo $USER
python database_extraction.py
Вы, вероятно, смотрели на него слишком долго. (Там, доверяйте мне),
Сценарий оболочки run_extraction.sh
но в crontab записи, Вы пропускаете ".sh". Это должно быть похожим:
* * * * * /raid/myuser/database_extraction/run_extraction.sh >> /raid/myuser/database_extraction/extraction.log
Если Вы хотите stderr также stdout зарегистрированный, Вы могли бы хотеть его, добавляет перенаправление на конце (это поможет отладить вещи далее):
* * * * * /raid/myuser/database_extraction/run_extraction.sh >> /raid/myuser/database_extraction/extraction.log 2>&1