使用cron排除带有mtime的某些文件夹

使用cron排除带有mtime的某些文件夹,cron,Cron,出于开发原因,我正在尝试获取文件更改的报告,只需要一个简单的cron命令。通过谷歌搜索,我发现你可以通过电子邮件获得一份基于时间戳更改的文件列表 我试着用这个: find /home/username/public_html/dev --exclude ".admin/cache/*" --exclude ".cache/*" --exclude ".cache/*"-mtime -1 \! -type d -ls 但我得到了这个错误: find: unknown predicate `--e

出于开发原因,我正在尝试获取文件更改的报告,只需要一个简单的cron命令。通过谷歌搜索,我发现你可以通过电子邮件获得一份基于时间戳更改的文件列表

我试着用这个:

find /home/username/public_html/dev --exclude ".admin/cache/*" --exclude ".cache/*" --exclude ".cache/*"-mtime -1 \! -type d -ls
但我得到了这个错误:

find: unknown predicate `--exclude' 
还有,是否有include这样的命令,或者有与之相反的命令?我的
查找(1)
手册页中没有列出排除,而不是排除您正在包括的内容。我想试试这样的东西:

find /home/username/public_html/dev -path ".admin/cache" -prune -o -path ".cache" -prune -o -mtime -1 \! -type d -ls

我还发现,您可以为不同的文件夹创建一个新的cron。所以我的答案也包括在内。知道如何排除还是不错的。不过:)谢谢凯文,现在就来看看。但我想我对这件事的看法是错误的。它似乎会在我重新加载页面时向我发送文件更改报告?我想我还需要点别的。扫描的内容仅在文件中更改,而不是实际的时间戳或其他任何内容。您是否考虑过将文件置于版本控制下,然后通过cron运行
git status
hg status
?这还有一个额外的好处,那就是保存这些文件的历史记录,虽然你可能需要手工管理(但是,OTOH git和hg都是非常可编写脚本的)。是的,我已经看过kevin,说实话,这让我花了很多时间来设置和处理,我只是觉得不值得花时间来维护。我正在测试一个ftp php脚本,它向我发送带有信息的电子邮件。我希望它是干净的,只是做我需要的。获取文件更改的运行列表。我不太担心文件中发生了什么变化,因为我总是通过它发表评论。如果你的服务器占用了时间,你需要以某种方式跟踪文件的变化。您可以拼凑一些东西来散列文件,并与上一个散列进行比较,但在这一点上,您已经完成了全面版本控制的9/10(特别是在考虑散列冲突的情况下)。为什么要重新发明轮子?您的另一个选择是使服务器停止咀嚼MTIME。我不知道从哪里开始寻找这个问题,但这可能更容易。