我有一个cronjob,它每24小时运行一次,以告诉我服务器上的文件是否已更改。脚本是这样的:
find /home/bsc1933 -type f -ctime -1 -exec ls -ls {} \; | mail -E -s “File Changes, Past 24 Hours” myemail
我想修改它以排除特定的文件夹,在这种情况下,我的缓存文件夹为/home/bsc1933/public_html/cache
我用Google-fu找到了原始脚本,然后编辑了电子邮件以匹配我的电子邮件,因此我不知道实际编辑脚本本身的知识。有人可以帮我吗?
答案 0 :(得分:0)
尝试使用find
或find /home/bsc1933 -type f -ctime -1 -exec ls -ls {} \; |grep -Ev "/home/bsc1933/public_html/cache" | mail -E -s “File Changes, Past 24 Hours” myemail
忽略具有特定模式的条目。
使用grep:
find /home/bsc1933 ! -path '*/.cache/*' -type f -ctime -1 -exec ls -ls {} \; | mail -E -s “File Changes, Past 24 Hours” myemail
或告诉查找忽略它:
This is line 1
This is line 2
答案 1 :(得分:0)
最简单的答案如下:在“查找”和“邮件”命令之间添加“ grep”以过滤出要排除的路径。
`find /home/bsc1933 -type f -ctime -1 -exec ls -ls {} \; | grep -v '/home/bsc1933/public_html/cache' |` ... your code to send email ...
让我知道您是否还有其他困难。