Код:
#!/bin/bash
threshold=50
filesystems=$(df -h | grep '/dev/sd' | grep -v '/boot' | awk '{print $6}')
for fs in $filesystems; do
free_space=$(df -BG $fs | awk '{print $4}' | tail -n 1 | sed 's/G//')
free_space=$(echo $free_space | awk -F. '{print $1}')
if [ $free_space -lt $threshold ]; then
echo "WARNING: $fs has only $free_space GB of free space remaining!"
fi
done
пролистываем список файловых систем (выбираю /dev/sd, если есть рейды - проверяйте), убираем /boot, где места мало по определению... для проверки места использую df -BG, чтобы выводило только в гигабайтах.
Вместо echo буду использовать Telegram, но тут уже по вкусу...