• 监控脚本展示


    需求:
    监控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
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    你可以将上述脚本保存为monitor_files.sh。确保它是可执行的:

    chmod +x monitor_files.sh
    
    • 1

    然后,你可以使用cron来每隔10分钟执行此脚本。首先,打开你的cron配置:

    crontab -e
    
    • 1

    然后,添加以下行以每隔10分钟执行上述脚本:

    */10 * * * * /path/to/monitor_files.sh
    
    • 1

    其中,/path/to/应替换为monitor_files.sh脚本的实际路径。

    这样,你的脚本将每隔10分钟执行一次,监控所需的文件,并按照你的要求检查文件的生成时间。

  • 相关阅读:
    asp.net网球馆计费管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
    面试题:Java 序列化和反序列化为什么要实现 Serializable 接口?
    (2D、3D效果)转换有哪些?
    Netty+SpringBoot 打造一个 TCP 长连接通讯方案
    项目管理工具ConceptDraw PROJECT mac中文版自定义列功能
    C++的封装、继承、多态
    最新HTML设计搜索表单
    微机原理与接口技术
    对Java中dto、dao、service、controller层的分析
    使用Oracle IMP导入数据
  • 原文地址:https://blog.csdn.net/u011197085/article/details/133638651