【问题标题】:run a Cron job on a daily basis to list out the files每天运行 Cron 作业以列出文件
【发布时间】:2013-07-27 18:36:49
【问题描述】:

我想每天运行一个 Cron 作业来列出测试和生产服务器上正在更改的文件。

  1. 以下命令将给出权限更改为 Read-Write-Execute 的文件列表。如果我们发现列出的任何文件,则可能是我们不知道的人正在这样做:

    find $HOME -type d -perm 777

  2. 下面的命令将给出过去 2 天内更改的文件列表:

    find . -type f -mtime -2 | grep -v "/Maildir/" | grep -v "/logs/"

请给我一个可以设置为每天在服务器上执行的程序。

【问题讨论】:

    标签: cron find


    【解决方案1】:

    编辑当前的 cronjobs

    crontab -e 
    

    添加为最后一行(这将在每天早上 7 点在服务器端时间运行)

    0 7 * * * find . -type f -mtime -2 | grep -v "/Maildir/" | grep -v "/logs/"
    

    一些不错的配置示例:

    http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
    

    【讨论】:

      【解决方案2】:

      cron 不接受 stdout 或 stderr 上的输出。这将作为错误处理。

      您的“查找..”必须在文件中重定向。

      您的 cron 作业的配置显示在 alex.dominte 的答案中。

      替代方案:如果您不依赖于确切的时间点,您可以将您的“查找...” 在脚本文件中并将其存储在目录“/etc/cron.daily”中。 此目录中的脚本每天都会运行。

      【讨论】:

        猜你喜欢
        • 2012-08-09
        • 2014-08-14
        • 2013-01-20
        • 2013-11-23
        • 2016-06-05
        • 2023-03-04
        • 1970-01-01
        • 2022-10-25
        相关资源
        最近更新 更多