我有一个NVR系统,可将视频监控录制到Linux服务器中。这个NVR系统有时会停止录制(Bug),我想知道这种情况何时发生。
如果在过去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
答案 0 :(得分:0)
你可以尝试结合这个 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 ~]$
答案 1 :(得分:0)
我没有使用find的解决方案,但您可以使用inotifywait(在inotify-tools中)设置观察程序,如下所示:
Select-Object -ExpandProperty ClientId
并检查$?对于值2,这意味着它在60秒(-t 60)之后超时,没有文件被修改(-e modify)在/ path / to /文件夹及其子文件夹(-r)中。