是,可编写轻量级 bash 脚本配合 cron 定期检查磁盘使用率:用 df -p 和 awk 提取指定挂载点(如 /backup)使用百分比,分级阈值触发告警(≥90%)、自动清理旧备份(≥95%)或停备(≥98%),记录日志并邮件通知。

可以写一个轻量级 Bash 脚本,配合 cron 定期检查磁盘使用率,并在空间不足时触发告警或清理动作。核心是获取关键挂载点(如备份目录所在分区)的剩余空间,结合阈值判断,再执行通知或预设操作。
获取目标磁盘使用率并提取关键数值
用 df -P 保证输出格式稳定,避免空格干扰;用 awk 提取指定挂载点的使用百分比:
backup_mount="/backup" # 替换为你的备份目录实际挂载点
used_percent=$(df -P "$backup_mount" 2>/dev/null | awk 'NR==2 {print $5}' | sed 's/%//')注意:NR==2 跳过表头;2>/dev/null 屏蔽路径不存在时的报错;sed 去掉百分号便于数值比较。
设置合理阈值并做条件判断
建议按场景分级处理,例如:
- ≥90%:立即发警告(邮件/钉钉/企业微信)
- ≥95%:自动清理最旧的 1–2 个备份(需提前约定命名规则,如
backup_20240501.tar.gz) - ≥98%:停止新备份任务(如 touch 一个锁文件,让主备份脚本检测后退出)
示例判断逻辑:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
if [ -z "$used_percent" ]; then echo "ERROR: Cannot get disk usage for $backup_mount" | logger -t disk-monitor exit 1 fi <p>if [ "$used<em>percent" -ge 95 ]; then find /backup -name "backup</em>*.tar.gz" -type f -printf '%T@ %p\n' 2>/dev/null | sort -n | head -n1 | cut -d' ' -f2- | xargs -r rm -f fi</p>
集成通知与日志记录
简单告警可用 mail 或 curl 推送 Webhook:
if [ "$used_percent" -ge 90 ]; then
echo "Warning: $backup_mount usage is ${used_percent}% at $(date)" | \
mail -s "[ALERT] Low Disk Space" admin@example.com
fi所有操作建议记入系统日志:
logger -t disk-monitor "Checked $backup_mount: ${used_percent}%"加入 cron 定时运行
编辑 root 的 crontab(sudo crontab -e),每 30 分钟检查一次:
*/30 * * * * /usr/local/bin/check-backup-disk.sh
确保脚本有执行权限:chmod +x /usr/local/bin/check-backup-disk.sh,路径建议用绝对路径。










