Крон, который идет с OS X, регистрирует свои действия где-нибудь?
Я не ищу вывод какой-либо конкретной работы cron, а скорее журнал того, что делает cron. На нескольких Linux-машинах, которые я проверил, есть такое /var/log/cron
содержимое:
Apr 26 11:00:01 localhost crond[27755]: (root) CMD (/root/bin/mysql-backup)
Apr 26 11:01:01 localhost crond[27892]: (root) CMD (run-parts /etc/cron.hourly)
Apr 26 11:07:01 localhost crond[28138]: (root) CMD (/usr/local/bin/python /home/
user1/scripts/pythonscript.py)
Apr 26 11:18:18 localhost crontab[28921]: (user2) LIST (user2)
Apr 26 11:18:22 localhost crontab[28929]: (user2) BEGIN EDIT (user2)
Apr 26 11:18:59 localhost crontab[28929]: (user2) REPLACE (user2)
Это показывает, когда выполнялись задания, когда пользователи просматривали или редактировали crontabs и т. Д. Этот материал нигде не обнаружен на моей машине Snow Leopard.
macos
osx-snow-leopard
cron
Даг Харрис
источник
источник
Я понял, как регистрировать свою активность в cron, не переключая каждую из них на запущенную работу.
В справочной странице cron упоминаются
-x
параметры, которые позволяют «записывать информацию об отладке в стандартный вывод». Побочным эффектом этого является то, что они также записывают основную информацию в стандартную ошибку. Данные, отправленные со стандартной ошибкой, записываются в/var/log/system.log
.Это приводит к тому, что такие данные записываются в
/var/log/system.log
:Поскольку сам cron запускается с помощью launchd, чтобы включить это, мне пришлось отредактировать его
/System/Library/LaunchDaemons/com.vix.cron.plist
так, чтобы он теперь выглядел следующим образом:Я использовал
-x misc
здесь, но это не имело значения, какие варианты я использовал. Добавление-x
запущенной регистрации активности работы. Я также добавил StandardErrorPath для записи/var/log/cron.log
вместо значения по умолчанию/var/log/system.log
.А затем выгрузите и перезагрузите это:
источник
В настоящее время OSX имеет тенденцию использовать launchd, а не cron - Apple dev doc - так что, возможно, в cron нечего регистрировать.
Используйте launchctl для управления уровнем регистрации launchd. Информация журнала сома появляется в system.log, но больше в консольном приложении -> Все сообщения
источник
0 0 7 11 0 happybirthday
.По крайней мере, в Yosemite cron записывает в журнал
mail
сообщения, поэтому используйте ихmail
для чтения.источник
cron
отправляет (в противном случае не перенаправленный) вывод владельцу задания по почте. Если весь вывод перенаправлен, почта не отправляется. (Даже если сообщение отправлено, я не уверен, показывает ли оно команду, которая была выполнена.) Вопрос в том, как администратор может видеть все команды, которыеcron
выполнили. Чтобы использовать ваш ответ, человек должен был бы просмотреть почтовый файл каждого.