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

  • Как получить, какая версия демона cron запущена
  • Как root, как я могу перечислить crontab для всех пользователей?
  • Crontab останавливается на полпути
  • Задача Cron начинается в 5:30 и выполняется каждые 5 минут один раз
  • Получить список всех скриптов и их путей, которые запускаются как работа cron
  • задание cron для запуска в четверг перед вторым понедельником в месяц
  • скрипт не работает в crontab
  • crontab для команды запускать каждую неделю и три месяца?
  • Запускайте задание cron каждую минуту, имея в виду синтаксис
  • Cronjob запускает скрипт каждые 3 недели в среду
  • crontab -e дает: / var / spool / cron /: mkstemp: разрешение отклонено
  • Interesting Posts

    Неправильный вывод из cp, rm и т. Д.

    Экран GNU: как использовать: aclumask для установки разрешений для неизвестных пользователей?

    Синтаксическая ошибка tcpdump при указании portrange как документально

    Bash: Почему используется eval и shift в скрипте, который анализирует аргументы командной строки?

    Корица (Петра) разбилась. Открывается в резервном режиме

    Заголовки ядра для ядра 2.6.32-504.e16.x86_64 не найдены

    Медленная загрузка, как программировать fsck для запуска, как работа cron?

    Может ли bluez запускать крючки при подключении / отключении

    Построение linux-menuconfig приводит к: «*** Ошибка при обновлении конфигурации».

    Почему Linux загружает первый загрузочный диск при загрузке?

    Будут ли библиотеки GNOME и GTK раздувать мой KDE?

    Почему моя переменная среды не видна из командной строки?

    Как написать скрипт для чтения SSID и пароля Wi-Fi с USB-накопителя при загрузке и автозагрузке в сеть Wi-Fi

    Используйте sed для поиска и сохранения только строк с двумя альфа-символами в них

    Как я могу изменить домашний каталог сервера sftp на MAC OS X?

    Linux и Unix - лучшая ОС в мире.