我想每天运行一个Cron作业,列出在测试和生产服务器上更改的文件。
以下命令将提供权限更改为Read-Write-Execute的文件列表。如果我们发现列出了任何文件,那么可能有人不知道我们这样做了:
find $HOME -type d -perm 777
以下命令将显示过去2天内更改的文件列表:
find . -type f -mtime -2 | grep -v "/Maildir/" | grep -v "/logs/"
请给我一个程序,可以设置为每天在服务器上执行。
答案 0 :(得分:0)
编辑当前的cronjobs
crontab -e
添加为最后一行(这将在服务器端7AM每天运行)
0 7 * * * find . -type f -mtime -2 | grep -v "/Maildir/" | grep -v "/logs/"
一些很好的配置示例:
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
答案 1 :(得分:0)
cron不接受stdout或stderr上的输出。这被视为错误。
您的'find ..'必须重定向到文件中。
你的cron作业的配置显示在alex.dominte的答案中。
替代方案:如果您不依赖于确切的时间点,您可以放置“查找...” 在脚本文件中并将其存储在目录'/etc/cron.daily'中。 此目录中的脚本每天运行。