📁 Скрипт
disk_monitor.sh
#!/bin/bash
# Настройки
THRESHOLD=80 # Порог использования в процентах (если выше — тревога)
EMAIL="admin@example.com" # Кому отправлять уведомление
HOSTNAME=$(hostname)
# Получаем список смонтированных файловых систем
df -hP | grep '^/dev/' | while read line; do
USAGE=$(echo $line | awk '{print $5}' | sed 's/%//')
MOUNT=$(echo $line | awk '{print $6}')
FS=$(echo $line | awk '{print $1}')
if [ "$USAGE" -ge "$THRESHOLD" ]; then
MESSAGE="🚨 Внимание! На сервере $HOSTNAME файловая система $FS, смонтированная в $MOUNT, заполнена на $USAGE%."
echo "$MESSAGE"
# Отправка email (если настроено)
echo "$MESSAGE" | mail -s "Disk space alert on $HOSTNAME" "$EMAIL"
fi
done
⚙️ Инструкции
1. Сохрани скрипт в файл:
nano /usr/local/bin/disk_monitor.sh
chmod +x /usr/local/bin/disk_monitor.sh
2. Установи почтовую утилиту, если хочешь получать email-уведомления:
sudo apt install mailutils # для Debian/Ubuntu
3. Добавь в
crontab для регулярной проверки:
crontab -e
Пример (каждые 15 минут):
*/15 * * * * /usr/local/bin/disk_monitor.sh
👉 @sys_adminos