Как я могу просмотреть результаты своих заданий крона?

Я вижу столько руководств по тому, как выполнить crontab, но в чем я нуждаюсь, прямо сейчас должен учиться как

  1. Найдите файлы журнала о заданиях крона
  2. Настройте то, что зарегистрировано
66
задан 21.03.2010, 05:07

3 ответа

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

Например, перенаправить вывод ошибок some_job.sh кому: some_job.err и отбрасывая стандартный вывод (т.е. отправляя его в /dev/null) добавьте следующее перенаправление к своему crontab

 33 3 * * * /path/to/some_job.sh 1> /dev/null 2> /other/path/to/some_job.err

или отправить его по почте Вам вместо этого (если mail доступно),

 33 3 * * * /path/to/some_job.sh 1> /dev/null 2>&1 | mail -s "cron output" you@example.org
67
ответ дан 07.12.2019, 08:14

Большинство демонов крона на платформах, с которыми я работал автоматически, посылает stdout/stderr по электронной почте пользовательских заданий крона пользователю, из crontab которого задание прибыло. Я забываю то, что происходит с в масштабе всей системы (non-user-specific задания крона от/etc/crontab). Вещью являются люди, не всегда настраивают демона почтовой программы (то есть, Агент передачи почты (MTA) как sendmail, qmail, или постфикс) на большинстве подобных Unix Ose больше. Таким образом, задание крона произвело электронные письма, просто умирают в папке шпульки местной почты где-нибудь, если они даже получают это далеко. Таким образом, один ответ мог бы просто быть должен разжечь Вашего демона почтовой программы и возможно удостовериться, что у Вас есть ~/.forward файл для пересылки местной почты "реальному" почтовому ящику.

Если Вы хотите, чтобы Ваши задания записали в определенные файлы журнала, можно использовать перенаправление стандартного вывода как @honk, предложенный, или, предполагая, что задание крона является сценарием оболочки, у Вас мог быть свой регистратор вызова сценария (1) или системный журнал (1) или независимо от того, что другой инструмент командной строки Ваша ОС предусматривает отправку произвольных сообщений на системный журнал. Затем Вы могли использовать встроенные методы своей ОС для конфигурирования, которое виды сообщений зарегистрированы где, возможно, путем редактирования/etc/syslog.conf.

Большинство моих заданий крона вызывает сценарии удара, которые я записал специально для цели быть запущенным кроном по конкретной причине. В тех, особенно когда я первоначально пишу и отлаживаю их, мне нравится использовать "набор удара-vx", чтобы заставить нерасширенную и расширенную форму каждой строки сценария оболочки писаться в stdout, прежде чем это будет выполнено. Обратите внимание, что сценарии оболочки, запущенные с крона, считают невходом в систему, неинтерактивными оболочками, таким образом, Ваши стандартные скрипты запуска оболочки как .bashrc и .profile не запущены. Если Вы используете удар и хотите, чтобы удар запустил скрипт запуска, необходимо определить переменную среды "BASH_ENV =/path/to/my/startup/script" в crontab перед строкой, где Вы определяете задание.

9
ответ дан 07.12.2019, 08:14

Крон задач выполняется, ответственны за их собственный вход.

5
ответ дан 07.12.2019, 08:14

Теги

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