Может ли кто-нибудь объяснить, почему мои задания cron не выполняются? Я пробовал простые задания, такие как работа с датой / временем, и это работает.
Ниже приведен пример того, что я пытаюсь запустить:
# Begin Whenever generated tasks for: taxscribe
0 0,6,12,18 * * * /bin/bash -l -c 'cd /home/deploy/taxscribe/releases/20110311205859 && RAILS_ENV=production rake informer:sync:submitted --silent'
0 * * * * /bin/bash -l -c 'cd /home/deploy/taxscribe/releases/20110311205859 && RAILS_ENV=production rake informer:sync:extensions --silent'
0 * * * * /bin/bash -l -c 'cd /home/deploy/taxscribe/releases/20110311205859 && RAILS_ENV=production rake informer:sync:accounts --silent'
# End Whenever generated tasks for: taxscribe
Спасибо за вашу помощь.
может быть rake
не находится в PATH, когда crond пытается выполнить задание? (попробуйте указать полный путь к бинарному файлу rake)
Убедитесь, что crond запущен
pgrep crond
Проверьте, запущен ли crond, а также убедитесь, что он настроен на запуск с системой.
chkconfig crond --list
если это не так то сделай
chkconfig crond on
чтобы он запускался при загрузке.
Также проверьте свои журналы. Убедитесь, что в ваших скриптах нет ошибки, препятствующей выполнению.
/var/log/cron
Если выполняемые вами задания производят какие-либо выходные данные, то cron отправит их по почте на учетную запись, которая выполняла задание.
Вы можете записать вывод заданий в файл журнала, например.
/bin/bash -l -c 'cd /home/deploy/taxscribe/releases/20110311205859 && RAILS_ENV=production rake informer:sync:submitted --silent &>/path/to/file.log'
и посмотрим, что там говорится.