这个 cron 作业从哪里运行?

6 linux ubuntu cron

前段时间,我设置了一个 cron 作业,每分钟运行一个脚本。从那时起,我将系统从 ubuntu intrepid 升级到了 ubuntu karmic。现在工作失败了。我每分钟收到一次有关它的电子邮件。

没问题吧?我可以解决问题,然后继续我的路。好吧,好吧,但我现在没有时间这样做,所以我只想关闭这项工作,直到我有时间去做。

好吧,这就是奇怪的地方。我找不到 cron 工作。它不在用户(或任何其他用户)的 crontab 中(在 /var/spool/cron 下)。它不在 /etc/crontab 中。它不在 /etc/cron.d 中。我已经递归地搜索了整个 /etc/ 和 /var/ 的脚本名称。找不到。

我已经在 cron 的 pid 上运行 lsof 以查看它是否有一些我不熟悉 open 的奇怪位置,不行。

我在这里缺少什么?作业正在运行。它由 cron 运行(电子邮件来自 cron - 我可以在 cron 下运行的系统日志中看到它),但它似乎不存在任何地方。

小智 8

在我的 Debian 系统上,/var/log/syslog包含每个执行的 cron 作业的条目……

Jan 17 20:10:01 machine1 /USR/SBIN/CRON[1545]: (convict) CMD (fetchmail -s >/dev/null 2>&1)
Jan 17 20:17:01 machine1 /USR/SBIN/CRON[1800]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Jan 17 20:20:01 machine1 /USR/SBIN/CRON[1914]: (convict) CMD (fetchmail -s >/dev/null 2>&1)
Run Code Online (Sandbox Code Playgroud)

如果您的作业由 cron 执行,您应该在/var/log/syslog 中找到对它的引用。


Bro*_*olf 3

我有一些事情你可以尝试一下,可能会有帮助。

要查看系统上的 cron 作业,请尝试以下操作:

crontab -l
Run Code Online (Sandbox Code Playgroud)

这就是我得到的结果(因为我只有一个作业设置要运行):

#CrInfo osascript -e "tell application "iTunes" to updateAllPodcasts"
30  2   *   *   *   osascript -e "tell application "iTunes" to updateAllPodcasts"
Run Code Online (Sandbox Code Playgroud)

这将列出将按计划运行的作业。

要列出系统上所有正在运行的进程及其完整文件系统路径,请键入:

ps -xa
Run Code Online (Sandbox Code Playgroud)

您将得到如下输出:(这应该可以让您更轻松地知道在哪里删除运行电子邮件的脚本)

 4968 ??         0:03.24 /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal -psn_0_655520
 6112 ??         0:23.31 /Applications/QuickTime Player.app/Contents/MacOS/QuickTime Player -psn_0_712878
 7203 ??         4:33.38 /Applications/Transmit.app/Contents/MacOS/Transmit -psn_0_946407
 7240 ??         2:56.99 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome -psn_0_975086
 7358 ??         0:00.02 /System/Library/PrivateFrameworks/KerberosHelper.framework/Resources/LKDCHelper
 7369 ??         0:04.72 /usr/sbin/AppleFileServer
Run Code Online (Sandbox Code Playgroud)

IBM 网站上还有一个页面可以帮助您了解如何正确使用 Cron。

也就是说,如果您的作业没有出现在 cron 中,您确定您没有使用其他您忘记的工具来运行它吗?例如,您可能已经下载了一些自定义守护程序应用程序?