【问题标题】:Find command to check no files is created within x minutes查找命令以检查在 x 分钟内没有创建文件
【发布时间】:2015-09-18 05:05:47
【问题描述】:

我有一个 NVR 系统,可以将视频监控记录到 linux 服务器中。这个 NVR 系统有时会停止录制(错误),我想知道什么时候会发生这种情况。

如果在过去的 60 分钟内没有创建任何文件,我正在考虑使用带有脚本和 cronjob 的 find 命令向我发送电子邮件。

我想出的命令是:

find /path/to/folder/* -name "*.ts" -mmin +0 -mmin -60 -exec echo "No New Recording Available" \; | mail -s "PP-NVR" me@server.com

但是这个命令只向我发送一个“没有可用的新记录”的列表,用于超过 60 分钟的文件

No New Recordinf Available
No New Recordinf Available
No New Recordinf Available
No New Recordinf Available
No New Recordinf Available
...

谁能帮忙!

编辑:这是我想出的脚本,但它似乎无法正常工作:

#!/bin/sh

if test 'find /path_to_folder/* -name "*.ts" -mmin +1 -mmin -10'
then
echo "No New Recording Available" | mail -s "PP-NVR" me@server.com
fi

【问题讨论】:

    标签: linux email find


    【解决方案1】:

    你可以尝试结合这个 run a unix shell command if the output doesn't have a specific number of lines

    vagrant@puppet ~]$ find . -name '*.ts' -mmin -1 | wc -l
    0
    [vagrant@puppet ~]$ touch blah.ts
    [vagrant@puppet ~]$ find . -name '*.ts' -mmin -1 | wc -l
    1
    

    所以:

    [vagrant@puppet ~]$ ./alert.sh
    No new files
    [vagrant@puppet ~]$ echo >> blah.ts
    [vagrant@puppet ~]$ ./alert.sh
    [vagrant@puppet ~]$ cat alert.sh
    #!/bin/sh
    
    newfiles=$(find . -name '*.ts' -mmin -1 | wc -l)
    
    if [[ $newfiles -eq 0 ]] ; then
        echo "No new files"
    fi
    [vagrant@puppet ~]$
    

    【讨论】:

    • 可以将路径添加到我的文件夹中,例如:newfiles=$(find /pathtofile -name '*.ts' -mmin -1 | wc -l) ?
    • 我得到了 "./Check2.sh: 5: ./Check2.sh: [[: not found " 知道为什么吗?
    • 运行 /bin/sh --version 得到什么还有 uname -a
    • 尝试将 /bin/sh 切换到 /bin/bash
    • [[ 只是 'test' 的内置别名
    【解决方案2】:

    我没有使用 find 的解决方案,但您可以使用 inotifywait(在 inotify-tools 中)设置观察者,如下所示:

    inotifywait -r -e modify -t 60 /path/to/folder
    

    然后检查 $?对于值 2,这意味着它在 60 秒 (-t 60) 后超时,而 /path/to/folder 及其子文件夹 (-r) 中的文件没有被修改 (-e modify)。

    【讨论】:

    • Inotify 是 Linux 内核功能。 inotifyway 是一个使用该功能的实用程序。您可以使用您的发行版的包管理系统安装它,例如apt-get install inotify.tools.
    猜你喜欢
    • 2015-12-15
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    • 2016-02-22
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 2011-08-07
    相关资源
    最近更新 更多