Добавить в корзинуПозвонить
Найти в Дзене
ServLesson

Мониторинг свободного места на сетевом диске с помощью BASH-скрипта

Рассмотрим вариант создания простенького скрипта на bash в операционной системе Linux который будет оповещать о том, что место на сетевом или обычном диске заканчивается. Команды: # touch script_SIZE-HDD.sh - создаем файл будущего скрипта # chmod +x script_SIZE-HDD.sh - даем права на выполнение # nano script_SIZE-HDD.sh - открываем файл в консольном текстовом редакторе nano, также можно использовать другой vi, vim и т.д. Код скрипта #!/bin/bash time=`date +%Y-%m-%d-%H:%M:%S` size=`df -h | grep /dev/sda3 | awk ' {print $4} '` space=`df | grep /dev/sda3 | awk ' {print $4} '` limit=1 if (( $(bc <<< "$space <= 10485760") == 1 )) then echo "$time<br />" >> /storage/tmp/Alarm!.html echo "Warning! Disk Space (TMP) is full. Available ${size}.<br />" >> /storage/tmp/Alarm!.html fi В представленном случае при превышении лимита более 10 Гб (в коде указано в Кб) скрипт создает (единожды) файл Alarm!.html по следующему пути /storage/tmp/ в который записывается информацию о том, сколько места еще о

Рассмотрим вариант создания простенького скрипта на bash в операционной системе Linux который будет оповещать о том, что место на сетевом или обычном диске заканчивается.

Команды:

# touch script_SIZE-HDD.sh - создаем файл будущего скрипта

# chmod +x script_SIZE-HDD.sh - даем права на выполнение

# nano script_SIZE-HDD.sh - открываем файл в консольном текстовом редакторе nano, также можно использовать другой vi, vim и т.д.

Код скрипта

#!/bin/bash

time=`date +%Y-%m-%d-%H:%M:%S`

size=`df -h | grep /dev/sda3 | awk ' {print $4} '`

space=`df | grep /dev/sda3 | awk ' {print $4} '`

limit=1

if (( $(bc <<< "$space <= 10485760") == 1 ))

then

echo "$time<br />" >> /storage/tmp/Alarm!.html

echo "Warning! Disk Space (TMP) is full. Available ${size}.<br />" >> /storage/tmp/Alarm!.html

fi

В представленном случае при превышении лимита более 10 Гб (в коде указано в Кб) скрипт создает (единожды) файл Alarm!.html по следующему пути /storage/tmp/ в который записывается информацию о том, сколько места еще осталось. (Если файл будет случайно удален, при следующем запуске скрипта он вновь будет создан.)

-2

Для проверки работы созданного кода, его можно запустить, написав представленную команду.

# ./script_SIZE-HDD.sh

Также уведомление о превышении лимита можно адресовать на электронную почту. Тогда последняя строчка кода будет выглядеть так:

echo "Warning! Disk Space (TMP) is full. Available ${size}.<br />" | mail -s "Backup Server" name@domen.ru

Для автоматического запуска скрипта, в планировщике задач Cron, располагаемом в каталоге etc файл crontab (/etc/crontab), следует прописать периодичность запуска. В приведенном примере:

00,15 * * * * /root/script_SIZE-HDD.sh

указано, что скрипт расположенный каталоге root будет запускаться каждые 15 минут. Безусловно временной интервал можно поменять.

Здесь представлен достаточно простой вариант мониторинга свободного места на носителе информации, который можно нарастить необходимым функционалом.

Подробнее - в представленном видео:

Фото- и видеоматериалы взяты с канала ServLesson на YouTube.