← 返回
未分类 中文

Disk Guardian

Run S.M.A.R.T. diagnostics on all drives, parse health indicators, maintain a history log, and flag drives showing early failure patterns. Generates health s...
在所有驱动器上运行 S.M.A.R.T. 诊断,解析健康指标,维护历史日志,并标记存在早期故障征兆的驱动器。生成健康报告。
newageinvestments25-byte newageinvestments25-byte 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 356
下载
💾 0
安装
1
版本
#latest

概述

disk-guardian

S.M.A.R.T. drive health scanner for macOS and Linux.

Scripts

All scripts are in scripts/. Run them in sequence or pipe them together:

cd ~/.openclaw/workspace/skills/disk-guardian/scripts

# Full pipeline (may need sudo on Linux):
python3 scan_drives.py | python3 parse_smart.py | python3 report.py

# With sudo (required on many Linux systems):
python3 scan_drives.py --sudo | python3 parse_smart.py | python3 report.py

# Save report to file:
python3 scan_drives.py | python3 parse_smart.py | python3 report.py --output ~/disk-report.md

# Record scan to history and get trend analysis:
python3 scan_drives.py | python3 parse_smart.py | python3 history.py --record

Data is stored in ~/.openclaw/workspace/disk-guardian/ by default. Use --data-dir to override on any script.

Workflow

  1. Run scan_drives.py — detects drives and runs smartctl -a on each. Outputs JSON.
  2. Pipe to parse_smart.py — extracts health attributes, assesses status (Good/Warning/Critical).
  3. Pipe to report.py — generates markdown report with risk rankings and recommendations.
  4. Optionally pipe to history.py --record to log the scan and get trend alerts.

Prerequisites

smartctl must be installed:

  • macOS: brew install smartmontools
  • Linux: sudo apt install smartmontools or sudo dnf install smartmontools

If smartctl is missing, scan_drives.py will output the install command and exit gracefully.

Script Details

scan_drives.py

  • macOS: uses diskutil list to find whole disks, then smartctl -a /dev/diskN
  • Linux: uses lsblk to find block devices, then smartctl -a /dev/sdX
  • --sudo: prepend sudo to smartctl commands (needed on Linux without udev rules)
  • Outputs JSON: {os, smartctl_path, drives_found, scan_results: [{device, smartctl_output|error}]}

parse_smart.py

  • Detects drive type: NVMe, SSD, or HDD
  • SATA/SSD: parses attribute table, extracts Reallocated Sector Count, Current Pending Sector, Uncorrectable Errors, Temperature, Power-On Hours, Read Error Rate, Seek Error Rate, and more
  • NVMe: parses health log for Available Spare, Percentage Used, Media Errors, Unsafe Shutdowns, Critical Warning
  • Assigns health_status: Good / Warning / Critical
  • --input FILE: read from file instead of stdin
  • --raw FILE --device NAME: parse a single raw smartctl text dump

history.py

  • --record: append current scan to ~/.openclaw/workspace/disk-guardian/history.json
  • --trends: analyze stored history for concerning patterns (rising reallocated sectors, climbing temps, declining NVMe spare)
  • --list [--limit N]: show last N entries per device
  • --data-dir PATH: use alternate storage location
  • --device /dev/diskN: filter output to one device

report.py

  • Generates markdown with drive inventory table, per-drive status, risk ranking with scores, human-readable flag explanations, trend alerts, and recommendations
  • Risk ranking accounts for health status, flag severity, trend alerts, and drive age (power-on hours)
  • --output FILE: save report to file instead of printing
  • --trends FILE: load pre-computed trend JSON

SMART Attribute Reference

See references/smart-attributes.md for plain-English explanations of the 10 most critical SMART attributes and NVMe health indicators. Read it when explaining specific attributes to the user or when triaging a flagged drive.

Edge Cases

  • smartctl not installed: scan_drives.py prints install instructions and exits with code 2
  • Permission denied: Output includes hint to use --sudo; on Linux, add user to disk group as permanent fix
  • Virtual drives (VMware, loop devices): smartctl will return errors; these are captured and included in error entries
  • NVMe vs SATA: drive type auto-detected; NVMe uses health log fields instead of attribute table
  • Corrupt history: history.py backs up the file and starts fresh automatically

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-05-07 07:54 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

it-ops-security

MoltGuard - Security & Antivirus & Guardrails

thomaslwang
MoltGuard — OpenClaw 安全守卫,由 OpenGuardrails 提供。安装后可防止您和您的用户受到提示注入、数据泄露及恶意行为的侵害。
★ 116 📥 31,047
it-ops-security

1password

steipete
设置和使用 1Password CLI (op)。适用于:安装 CLI、启用桌面应用集成、登录(单/多账户)、通过 op 读取/注入/运行密钥。
★ 53 📥 31,997
ai-agent

Workflow Crystallizer

newageinvestments25-byte
分析记忆日志,检测重复出现的模式,并建议自动化(cron 任务、技能或工作流快捷方式)。代理会逐步构建自己的快捷方式。
★ 0 📥 519