我正在尝试使用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
的日志中。可能是什么问题?
答案 0 :(得分:0)
您应该指定可执行文件的完整路径,您可以使用which
等命令轻松找到它,例如which apachectl
。
*/1 * * * * /usr/sbin/apachectl status | /bin/grep 'requests currently being processed' && 'date' >> /output.txt 2>&1