Я получил ежедневное задание crontab:
50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1
Этот сценарий оболочки daily_task запустит некоторые сценарии Python и создаст файл данных.
И это терпит неудачу в течение двух ночей. Но когда я пришел утром, запустил скрипты на python вручную, я получил файл данных. Или я установил новый crontab, в котором была установлена только дата 0 10 * * *
, и этот crontab также успешно выполняется .
Итак, вчера я поставил > /tmp/zen_log 2>&1
задачу cron, чтобы получить сообщение об ошибке.
И сегодня утром я получил это сообщение об ошибке в zen_log:
/my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Кажется, какой-то процесс был убит? Но что именно это line 19: 12364 Killed
означает?
PS:
Сегодня, минуту назад, когда я вручную запустил скрипт python, я получил:
/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
Killed
line 19
в сценарии? Возможно, размещение вашего сценария поможет нам дать вам ответ.line 19
это/usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1
daily_task.sh
? Трудно понять, почему это терпит неудачу,1:50 am
но10 am
пока успешно справляется с информацией./var/log/messages
мне интересно, если ваш скрипт создает ошибку Out-of-Memory (OOM) и уничтожается. Ваша система склонна запускать другие сценарии / приложения / задания, требующие системных ресурсов, в поздние ночные часы по сравнению с часами AM?Ответы:
Часто, когда работают приложения
killed
, всегда полезно быстро взглянуть на ваш/var/log/messages
файл, чтобы увидеть, убивает ли ядро процесс. Наиболее распространенный триггер (по моему опыту) всегда происходил из-за ошибок нехватки памяти (OOM), так как моя компания в основном использует Java-приложения, разработчики довольно часто публикуют обновление неверного кода, которое вызывает событие OOM ,Планирование задач, когда ваша ОС имеет наибольшее количество доступных ресурсов, вероятно, объясняет, почему это происходит успешно во временных интервалах AM, а не в PM, когда большинству людей нравится планировать работу системы налогообложения. Простыми решениями этого являются либо увеличение ресурсов вашей системы, ограничение ресурсов, выделенных для вашего кода, либо перемещение по расписанию, чтобы они не конфликтовали.
источник
messages
в системный журнал вместо/var/log/messages