请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
Labope03
V2EX  ›  NAS

硬盘休眠状态监控脚本-带可视化查询

  •  
  •   Labope03 · 4 days ago · 1217 views

    我想知道自己的 NAS 硬盘什么时候休眠什么时候活动,想知道一天被唤醒多少次。所以写了这个脚本。 DiskMonitorV1.0_20260610

    这个脚本是按自己的需求写的,主要实现以下功能 1 )实时查询硬盘休眠状态并记录 2 )后台定时查询并记录硬盘状态 3 )统计 24h 后硬盘唤醒次数及总唤醒时间 4 ) 24h 硬盘活动图表 5 )最大化精简脚本,不额外安装依赖。只用了 hdpram 查询硬盘和 python3 运行 http 服务

    一般情况下,适用于所有的 linux ,只要你安装了 hdparm 和 python3 。

    实际运行截图如下: status

    log

    项目文件

    /var/www/hddstatus/
    ├── config              # 统一配置文件
    ├── disk_events.log     # 事件日志(运行时生成)
    ├── cache/              # 状态缓存目录
    └── cgi-bin/
           ├── status          # 硬盘状态页
           ├── log             # 24h 趋势图表 + 日志
           ├── log-full        # 全部日志纯文本
           └── update-disk-info # 更新硬盘名称
    
    /usr/local/bin/
    ├── disk_monitor.sh           # 后台监控
    ├── disk_monitor_startup.sh   # 启动时初始化
    └── disk_info.sh              # 硬盘名称缓存生成
    
    /etc/systemd/system/
    ├── disk-monitor.service
    └── hddstatus.service
    
    /etc/sudoers.d/
    └── hddstatus
    

    使用教程:

    使用 root 登录,或者 sudo
    chmod +x diskmonitor_install.sh
    chmod +x diskmonitor_uninstall.sh
    安装
    ./diskmonitor_install.sh
    卸载
    ./diskmonitor_uninstall.sh
    

    状态页: http://机器 IP:58008/cgi-bin/status

    日志页: http://机器 IP:58008/cgi-bin/log

    修改配置: nano /var/www/hddstatus/config 然后 systemctl restart disk-monitor hddstatus

    config 配置文件说明 1 )硬盘要监控几个,填在 DISKS 里 2 )后台监控时隔,默认 5 分钟,没必要太频繁。因为时隔为 5 分钟监控一次,所以记录的唤醒休眠时间可能会有几分钟偏差。 3 ) Web 服务端口,字面意思 4 )硬盘自定义显示名称,前面 DISKS 里有几块硬盘这里就加几条记录 5 ) hdparm 程序目录,自己按自己机器上的填,一般不用动。 6 )其余日志文件参数不要动。

    # ========== 硬盘监控统一配置 ==========
    
    # 要监控的硬盘设备(空格分隔)
    DISKS="/dev/sda /dev/sdb"
    
    # 后台监控检查间隔(秒),建议 ≥ 硬盘 spindown 时间
    MONITOR_INTERVAL=300
    
    # Web 服务端口
    WEB_PORT=58008
    
    # 硬盘自定义显示名称(可选)
    # 格式:LABEL_设备名="显示名称"
    LABEL_sda="WD-500G"
    LABEL_sdb="GS-480G"
    
    # hdparm 路径
    HDPARM="/usr/sbin/hdparm"
    

    如果硬盘很老,频繁 hdparm 查询硬盘状态会影响硬盘休眠(很少见),那就只能加大监控的间隔或不用这个脚本。 不对这个脚本对你们硬盘/机器带来的任何影响负责。需要自取。

    脚本 链接: https://pan.quark.cn/s/9dd16addf27f

    4 replies    2026-06-11 09:47:14 +08:00
    git00ll
        1
    git00ll  
       4 days ago
    考虑加到 prometheus 里吗
    git00ll
        2
    git00ll  
       4 days ago
    其实不用做页面的
    pathinfuture
        3
    pathinfuture  
       4 days ago
    老兄,好歹给个 github ,这 quark 这个,实在是。。。让人看不起的呀
    Labope03
        4
    Labope03  
    OP
       3 days ago
    @pathinfuture 哈哈。。随便写着玩的,直接本地脚本打包扔上来了 懒得上传到 github 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2908 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 222ms · UTC 14:48 · PVG 22:48 · LAX 07:48 · JFK 10:48
    ♥ Do have faith in what you're doing.