crontab не запускает один скрипт

У меня проблема с моим crontab – cron не запускает один из моих скриптов

это верхняя часть моего crontab (root)

SHELL=/bin/bash #--------------------------------------- # Items availability #--------------------------------------- # Daily offer import + daily sync everything 30 7 * * * /var/www/import/download_offers.sh > /var/logs/download_offers_cron.log # Updates availability # 7:45 mass update happens */5 0-6 * * * /var/www/import/check_availability.sh 0,5,10,15,20,25 7 * * * /var/www/import/check_availability.sh */5 8-23 * * * /var/www/import/check_availability.sh #--------------------------------------- # Sales import + sync #--------------------------------------- # Import EBAY + WWW sales. Run sales cleaner */15 * * * * /var/www/import/import_all.sh */5 * * * * /var/www/import/import_www.sh 55 13 * * * /var/www/import/import_all.sh 58 13 * * * /var/www/import/import_www.sh ... more stuff 7KB total ... 

он работал идеально для долгого времени, но после последней недели перезагрузите эту линию

 30 7 * * * /var/www/import/download_offers.sh > /var/log/download_offers_cron.log 

перестал работать. Содержимое download_offers.sh:

 #!/bin/sh echo "Working..." echo "Download offers started" > /var/log/import/OFFER_START.log ... some private stuff ; just bunch of wget's and echo's ... 

Файл /var/log/import/OFFER_START.log не создается

что я пробовал до сих пор

  • Я изменил время до 7:30, 8:00 (это было 7:45 оригинально)
  • Я добавил > /var/logs/download_offers_cron.log но файл не был создан
  • Я просматривал корневые электронные письма, все сценарии запускаются за исключением того, что один
  • файл + x исполняемый файл

есть ли какая-то известная ошибка? есть ли другой вариант для отладки crontab, кроме писем? почему скрипт вообще не запускается? он работал нормально после перезагрузки на прошлой неделе ….

Пожалуйста, помогите мне потерять сознание

Редактировать:

Я использую версию CentOS 6.6 (Final)

это / var / log / cron

 Mar 10 07:30:01 serverpro1 CROND[11291]: (root) CMD (/var/www/import/download_offers.sh > /var/logs/download_offers_cron.log) 

похоже, что запись cron прекрасна, но файл /var/log/download_offers_cron.log отсутствует?

4 Solutions collect form web for “crontab не запускает один скрипт”

он волшебным образом снова работает

Единственное, что я изменил, было

 30 7 * * * /var/www/import/download_offers.sh > /var/logs/download_offers_cron.log ^^ here 

в

 30 7 * * * /var/www/import/download_offers.sh > /var/log/download_offers_cron.log ^^ here 

почему это вызвало ошибку, и скрипт не работал ВСЕ? я не знаю

и почему сценарий остановил работу на первом месте – это неразгаданная тайна

Проверьте, что говорит ваш файл / var / log / syslog о работе cron. Гребьте слово «cron» из журналов и проверьте, что такое ошибка. Используйте команду ниже, чтобы проверить ее.

grep -i cron / var / log / syslog

В противном случае все, что вы упомянули, хорошо.

Ваш crontab говорит использовать bash, но когда вы запускаете скрипт, вы на самом деле снова отправляете оболочку 'sh', тем самым теряете все переменные среды. У меня была эта проблема на прошлой неделе. Моя проблема заключалась в том, что у меня не было переменной пути, когда скрипт работал в cron, но скрипт работал нормально, когда я запускал его вручную.

Вы можете проверить это, сделав это прямо вверху вашего скрипта, после #! / Bin / sh:

 echo $PATH echo $path sleep 10 

в вашем скрипте, когда он запускается cron. Я не могу вспомнить, какой путь используется «sh», так что эхо оба.

Может быть, не выложите «sh» в свой скрипт?

Или для каждой запущенной утилиты введите полный путь к утилите, каждому входу и каждому выходному файлу.

Поэтому, если ваш сценарий говорит:

wget ...

Вы заменили бы его полным путем:

/usr/bin/wget ...

или каким бы то ни было правильным путем.

(Я не могу добавлять комментарии, так что я не смогу ответить на комментарии. Извините.)

Кажется, это ошибка опечатки.
В первом скрипте вы используете /var/log а в новом – /var/logs . Журнал является стандартным каталогом, но вы, похоже, используете log s

  • Пространство имеет значение в crontab
  • Выполняет ли cron выполнение асинхронно?
  • Где работает этот cronjob?
  • Задача Cron, запланированная для запуска в определенный день недели, также работает в последний день месяца
  • sudo source: команда не найдена
  • Ошибка Crontab: нет crontab Для
  • Как запустить команду, как если бы она вызывается из cron
  • Сценарий Crontab -e @reboot не запускается при перезапуске
  • Может grep | crontab уничтожить все рабочие места?
  • почему не 0 0 * * 1 root hostname >> /tmp/hostname.txt работать как crontab?
  • Задача Cron запускаться каждую минуту с 11:00 до 6:00
  • Linux и Unix - лучшая ОС в мире.