Shell脚本查找cmin评估目录,而不是文件

时间:2017-11-28 14:27:21

标签: linux bash shell find aix

我有一个包含文件的目录,当此目录中的文件超过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不是一个选项。

1 个答案:

答案 0 :(得分:0)

find从指定目录开始,然后查看其内容(然后查看其内容等)。这意味着-prune适用于目录(/ mls_bmp / indir / BT),并阻止find查看其中的文件。正如@BenjaminW在评论中所说,请改用-type f -maxdepth 1