Mac OS X cron日志/跟踪

14

如何最好地确定cron作业是否已运行? 是否有日志记录? 人们使用什么技术?

3个回答

13

在macOS Monterey中,似乎应该使用以下shell命令

log show --process cron

如果需要,您可以添加 --info 和/或 --debug


我遇到了以下错误。有任何建议吗?日志:未识别选项'--process' - Fed
查看 man log: ... log show [--archive archive | --file file] [--predicate filter] [--process pid | process] [--source] [--style default | compact | json | ndjson | syslog] [--color auto | always | none] [--start date/time] [--end date/time] [--[no-]info] [--[no-]debug] [--[no-]pager] [--[no-]signpost] [--last time [m|h|d]] [--timezone local | timezone] ... - VaughanR
我查了一下手册,很遗憾它没有显示show命令的进程标志。这就是为什么我要求提供建议。 log show [--archive archive | --file file] [--predicate filter] [--source] [--style default | compact | json | syslog] [--color auto | always | none] [--start date/time] [--end date/time] [--[no-]info] [--[no-]debug] [--[no-]signpost] [--last time [m|h|d]] [--timezone local | timezone] - Fed
似乎在我运行macOS Ventura 13.4的设备上无法正常工作。 - undefined

3

我刚刚将cron脚本的输出 >> 重定向到一个文件中,这似乎足够好用。


1
能否举个例子来说明你的意思? - FoxDeploy
这将运行脚本并将其stdout/err输出到日志文件:* * * * * /usr/local/bin/script >>/var/log/script.log 2>&1。您可以使用logrotate清理日志,以确保它不会填满您的磁盘。 - Michael
如果您不想学习/使用logrotate,您也可以使用我在此处记录的技巧:https://gist.github.com/mnadel/a14804e23533f43e91818a706c2fb7d4 - Michael

-2
tail -f /var/log/syslog | grep CRON

有时“syslog”可能不位于“/var/log/”中,在这种情况下,只需运行以下命令以获取其位置:

whereis syslog

4
即使使用正确的syslog绝对路径也无法正常工作。 - Fed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接