Скрипт при выполнении через cron не работает

При выполнении скрипта через cron вдруг выяснилось что он не отрабатывает должным образом, хотя при запуске вручную он работает как и положено. В логах cron запуск скрипта отмечается, запуск происходит от одного пользователя. В чем же может быть проблема?

Проблема оказалось в том что при запуске скрипта через cron стандартный поток вывода команды не давал закончить скрипту его работу.

Решение в следующем: добавляем в верхних строчках /etc/crontab, вот эту строку:

MAILTO=»»

Либо, перенаправляем в никуда стандартный вывод команды. Вот так

2>/dev/null

2 — обозначает стандартный поток вывода

/dev/null — это и есть то самое никуда

 

Поясним на примере. У меня проблема была при работе ffmpeg который при запуске  вручную отрабатывал как надо, но при выполнении через cron конвертировал файл не до конца.

Команда в cron до

* * * * * root /AVItoFLV-JPG.pl

Команда в cron после

* * * * * root /AVItoFLV-JPG.pl 2>/dev/null

Комментарии
Если статья вам помогла (или не помогла), оставьте комментарий с отзывом для других пользователей и автора
Добавить комментарий

Ваш e-mail не будет опубликован.

Sidebar