Конфликт времени работы Unix Crontab? [дублировать]

На этот вопрос уже есть ответ:

У меня есть следующие две записи в моем задании Crontab, которые должны начаться в 10:00 утра.

Задание #1

0,20 10 * * 1-5 ./run_program_A

Задание #2

0,20 10 * * 1-5 ./run_program_B

В 10:15 я проверил свой файл журнала и была запущена только программа B. Казалось, что программа А никогда не запускалась.

Если я установил время начала программы А на 10:30, она будет запущена. Я не очень хорошо знаком с Crontab, поэтому я надеюсь, что вы сможете пролить свет на него. Должен ли я убедиться, что все мои задания не установлены одновременно?

Заранее спасибо.

1
задан 8 May 2009 в 17:26
5 ответов

крон, конечно, не имеет таких ограничений. Проблема заключается где-то в другом месте (например, блокировка, используемая обеими программами).

5
ответ дан 3 December 2019 в 16:13
  • 1
    Yah, после немного большего количества исследования, проблема, довольно вероятно, скрыта где-то в другом месте. Спасибо за ответ. –  Ryan Liang 8 May 2009 в 17:36

Несколько случайных вещей, которые могли бы помочь разыскать проблему:

  • проверка на крон входит в систему/var/log
  • удостоверьтесь, что Вы получаете почту от производства крона где-нибудь (владелец файла крона, вероятно), так как это могло бы иметь интересные подсказки
  • замените "./run_program_A" 'эхом./run_program_A', только чтобы видеть, становится ли это начатым вообще
  • место "эхо 'программа A работало' | mailx-s program_A you@yourdomain.com" в run_program_A, чтобы проверить, что это работает
4
ответ дан 3 December 2019 в 16:13

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

Есть ли шанс, что оба сценария пишут в тот же файл журнала, такой, что один сценарий перезаписывает вывод другого сценария?

2
ответ дан 3 December 2019 в 16:13
  • 1
    Спасибо за реальный быстрый ответ. Это shouldn' t быть проблемой перезаписи, потому что обе программы создали бы запись в DB, если они выполняются. Проблема могла лечь в где-то в другом месте. Я вырою глубже затем. –  Ryan Liang 8 May 2009 в 17:35

Проверьте/var/log/cron на сообщения об ошибках. Существует, конечно, что-то не так с тем, как "program_B", назван.

1
ответ дан 3 December 2019 в 16:13

20 10 * * 1-5./run_program_A> run_program_A.log

проверьте файл журнала после 10:20 как

ls - буква run_program_A.log

если файл сгенерирован в 10:20, проблема находится в сценарии run_program_A а не в кроне

для справки крона

http://scripterworld.blogspot.com/2009/07/unix-crontab-configuration-with.html

1
ответ дан 3 December 2019 в 16:13

Теги

Похожие вопросы