【发布时间】:2018-05-12 01:13:34
【问题描述】:
我有一个包含文件的目录,当该目录中的文件超过 10 分钟时,我希望收到来自我们监控的通知。 通过我们的监控,我正在创建一个 SSH 会话,该会话执行一个 shell 脚本来检查目录中文件的年龄。
shell 脚本仅显示已检查目录中超过 10 分钟的文件,而不显示单个文件。
见下面的例子(我在 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
但是,此查找命令显示数量为 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。
【问题讨论】:
-
不是
-prune,不如-type f -maxdepth 1?