【问题标题】:How to grep lines in a cron job whose crontab appears to be deleted?如何在 crontab 似乎已删除的 cron 作业中 grep 行?
【发布时间】:2015-09-26 20:44:38
【问题描述】:

我正在尝试在我的 cron 作业中搜索特定单词,我们现在将其称为 word

这台机器是一台 AWS 服务器,我只使用过一个用户名,所以我认为这不是 cron 作业在不同用户下的问题。

因此,在根目录中,我执行 egrep -r ".*word.*" 。什么都没有出现。我会假设原始的 crontab 在某个时候被删除了,即使该进程仍在运行。

但是,当我执行crontab -l 时,我梳理了整个输出(需要一段时间),我可以看到这个word 肯定有一个cronjob。

在 cronjob 中 grep 行的最佳方法是什么?或者,egrep 是否仅适用于某些类型的文件?谢谢。

【问题讨论】:

    标签: linux amazon-web-services grep cron


    【解决方案1】:

    等等。如果你这样做:

    egrep -r ".*word.*"
    

    它不会返回,因为您没有将 egrep 指向要 grep 遍历的文件。一般来说,你会像这样使用 grep:

    egrep "word" filename
    egrep -r "word" directory/
    egrep -r "word" *
    

    你可以像这样 grep crontab -l 的输出:

    crontab -l | egrep "word"
    

    其他说明:

    • .*word.* 是不必要的,因为word 将匹配。它应该更快(贪婪匹配)
    • 您的主目录中的egrep -r word * 与 crontab 不匹配,因为它未存储在您的主目录中。 (很可能是/var/spool/cron/crontabs/$USER,但这不是很相关)

    【讨论】:

    • 好收获。 egrep 没有文件名参数将从标准输入读取。
    【解决方案2】:

    你只需要这样做:

    crontab -l | grep 'word'
    

    就是这样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-09-19
      • 2014-04-04
      • 2017-01-06
      • 1970-01-01
      • 2013-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多