我买了一个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" [email protected]
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" [email protected]
  fi
done

07-24 22:35