需求:
监控SVQC,SVCD,FHTC,FHQC,FHCD文件的生成
监控服务器:10.10.3.56
监控路径:/data/app/datafile/ftp/qdttec/10000002/download/yyyyMMdd/*
监控时间:每天7点开始,23点结束
监控逻辑:每隔10分钟扫一次目录,文件最近一次生成时间与当前时间大于间隔20分钟,提示告警
监控结果:若没有该文件,报警,报警内容为:【SVQC,SVCD,FHTC,FHQC,FHCD】文件生成失败
提问:
帮我写一下shell监控以SVQC,SVCD,FHTC,FHQC,FHCD开头的文件,一个都不能少
监控以SVQC,SVCD,FHTC,FHQC,FHCD开头的最新的文件属性中的时间属性,如果文件最近一次生成时间与当前时间大于间隔20分钟,则返回false,小于20分钟就返回true
,每隔10分钟执行一次,这些文件都在/data/app/datafile/ftp/qdttec/10000002/download/20231007目录下,其中20231007是时间变量,指的是当天的日期时间
回答:
要监控指定开头的文件并检查它们的生成时间,你可以使用find
命令来帮助定位这些文件,并检查它们的时间属性。
以下是一个简单的脚本,它执行你描述的操作:
#!/bin/bash
DIR="/data/app/datafile/ftp/qdttec/10000002/download/$(date +"%Y%m%d")"
THRESHOLD=20 # 20 minutes
check_files() {
for prefix in SVQC SVCD FHTC FHQC FHCD; do
file=$(find $DIR -type f -name "${prefix}*" -mmin -$THRESHOLD -print -quit)
if [[ ! -f "$file" ]]; then
echo "false"
return 1
fi
done
echo "true"
return 0
}
check_files
你可以将上述脚本保存为monitor_files.sh
。确保它是可执行的:
chmod +x monitor_files.sh
然后,你可以使用cron
来每隔10分钟执行此脚本。首先,打开你的cron配置:
crontab -e
然后,添加以下行以每隔10分钟执行上述脚本:
*/10 * * * * /path/to/monitor_files.sh
其中,/path/to/
应替换为monitor_files.sh
脚本的实际路径。
这样,你的脚本将每隔10分钟执行一次,监控所需的文件,并按照你的要求检查文件的生成时间。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/181559.html