命令在终端中运行正常,但在作为cron作业运行时却无法运行

时间:2019-11-13 09:07:12

标签: cron cron-task crontrigger

我正在尝试使用cron每分钟运行以下测试命令:

apachectl status | grep 'requests currently being processed' && 'date' >> /output.txt 2>&1

这将运行apachectl status,如果输出包含“当前正在处理的请求”,它将把命令date的结果打印到文件output.txt。

如果我以root用户在终端中运行此命令,则没有问题。但是,如下所述,每分钟将其作为cronjob运行(我已将其添加到/var/spool/cron/root中):

*/1 * * * * apachectl status | grep 'requests currently being processed' && 'date' >> /output.txt 2>&1

不执行任何操作-output.txt文件不会生成,并且作业也永远不会显示在/var/log/cron的日志中。可能是什么问题?

1 个答案:

答案 0 :(得分:0)

您应该指定可执行文件的完整路径,您可以使用which等命令轻松找到它,例如which apachectl

*/1 * * * * /usr/sbin/apachectl status | /bin/grep 'requests currently being processed' && 'date' >> /output.txt 2>&1