我正试图在我的cron作业中搜索一个特定的单词,我们现在称之为word
。
这台机器是一台AWS服务器,我只使用过一个用户名,所以我不认为这是cron作业在不同用户下的问题。
因此,在根目录中,我执行egrep -r ".*word.*"
。什么也没发生。我假设原来的crontab在某个时候被删除了,即使这个进程还在运行。
然而,当我执行crontab -l
时,我梳理了整个输出(需要一些时间),我可以看到这个word
肯定有一个cronjob。
在cronjob中grep行最好的方法是什么?或者,egrep只对特定类型的文件有效吗?谢谢。
等待。如果你这样做:
egrep -r ".*word.*"
它不会返回,因为您没有将egrep
指向要grep通过的文件。通常,您可以像这样使用grep:
egrep "word" filename
egrep -r "word" directory/
egrep -r "word" *
您可以像这样对crontab -l
的输出执行grep:
crontab -l | egrep "word"
其他笔记:
-
.*word.*
是不必要的,因为word
将匹配。它应该更快(贪婪匹配) 主目录中的 -
egrep -r word *
与crontab不匹配,因为它没有存储在主目录中。(可能在/var/spool/cron/crontabs/$USER
,但这不是非常相关)
你只需要做:
crontab -l | grep 'word'
。