linux - Bash 监控磁盘使用情况

标签 linux bash shell debian disk

我买了一个 NAS 盒子,上面有 debian 的精简版。

前几天它用完了空间,我没有意识到。我基本上是想编写一个 bash 脚本,它会在磁盘已满 90% 以上时提醒我。

有人知道可以执行此操作的脚本或给我一些编写脚本的建议吗?

最佳答案

#!/bin/bash
source /etc/profile

# Device to check
devname="/dev/sdb1"

let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
if [ $p -ge 90 ]
then
  df -h $devname | mail -s "Low on space" my@email.com
fi

Crontab 这个运行,但是你想要一个警报的频率

编辑:对于多个磁盘

#!/bin/bash
source /etc/profile

# Devices to check
devnames="/dev/sdb1 /dev/sda1"

for devname in $devnames
do
  let p=`df -k $devname | grep -v ^File | awk '{printf ("%i",$3*100 / $2); }'`
  if [ $p -ge 90 ]
  then
    df -h $devname | mail -s "$devname is low on space" my@email.com
  fi
done

关于linux - Bash 监控磁盘使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5648158/

相关文章:

linux - 如何在 Ubuntu 中升级应用程序后更新 product.conf 文件

python - 从 python 运行 shell 命令的最佳方法

arrays - 为什么空数组在 bash 中被视为未设置?

python - 长时间运行的批处理在 Ubuntu 中过早终止

linux - gentoo geoip安装

从Linux读取EXE版本的C库?

android - 从eclipse导入项目到android studio

linux - 使用 Bash 进行 Netcat TCP 编程

linux - 使用 awk 在 bash 函数中使用命令输出变量时出错

linux - hive 脚本(hivequery.hql)文件中的这个符号是什么意思 "use ${word:word}"