我有一个包含文件的目录,当此目录中的文件超过10分钟时,我希望收到我们监控的通知。 通过我们的监控,我正在创建一个SSH会话,该会话执行一个shell脚本来检查目录中文件的年龄。
当目录超过10分钟时,shell脚本仅显示已检查目录中的文件,而不是单个文件。
见下面的例子(我在11月27日09:22测试了这个例子)
有超过10分钟的文件(自11月27日09:22起):
system:/mls_bmp/indir/BT> ll
-rw-r--r-- 1 sonic sonic 845 Nov 24 08:04 BRMLREL20171124080420572
-rw-r--r-- 1 sonic sonic 845 Nov 24 08:17 BRMLREL20171124081723685
-rw-r--r-- 1 sonic sonic 845 Nov 24 08:17 BRMLREL20171124081729805
-rw-r--r-- 1 sonic sonic 845 Nov 27 08:49 BRMLREL20171127084911037
-rw-r--r-- 1 sonic sonic 845 Nov 27 08:49 BRMLREL20171127084920817
但是,此find命令显示金额0:
system:/mls_bmp/indir> find /mls_bmp/indir/BT -prune -cmin +10 -exec ls {} \; | wc -l | xargs
0
这是因为我检查的目录不到10分钟(自11月27日09:22):
system:/mls_bmp/indir> ll
drwxrwxrwx 4 oracle dba 20480 Nov 27 09:15 BT
我不想检查子目录,因此使用语句:find /mls_bmp/indir/BT/* -prune -cmin +10 -exec ls {} \; | wc -l | xargs
不是一个选项。
答案 0 :(得分:0)
find
从指定目录开始,然后查看其内容(然后查看其内容等)。这意味着-prune
适用于目录(/ mls_bmp / indir / BT),并阻止find
查看其中的文件。正如@BenjaminW在评论中所说,请改用-type f -maxdepth 1
。