Системным администраторам Linux очень важно следить за использованием оперативной памяти (RAM) в ОС. Когда ее свободного объема становится мало, операционная система может начать работать медленно или некорректно.
В этой статье мы покажем сценарий оболочки, который отправляет сообщение по электронной почте при достижении критического уровня использования памяти ОЗУ в Linux.
Содержание:
Описание скрипта Bash
Главное требование для корректной работы этого скрипта — настроенный почтовый сервер в Linux.
Читайте также: Mail-in-a-Box: установка почтового сервера с открытым исходным кодом в Ubuntu / Debian.
Также Вам понадобится утилита командной строки mailx
. Для ее установки в Ubuntu Linux выполните следующую команду:
Сам сценарий оболочки, который мы будем использовать для отправки сообщений на почту, выглядит следующим образом:
Этот скрипт разбит на следующие пять блоков:
declare mail variables
— задаются переменные, связанные с электронной почтой.get total free memory size in megabytes(MB)
— с помощью командыfree
вычисляется общее количество свободной памяти (в МБ), значение сохраняется в переменнойfree
.check if free memory is less or equals to 100MB
— с помощью оператораif
проверяется, меньше или равно значение переменнойfree
100 МБ свободной памяти.get top processes consuming system memory and save to temporary file
— если памяти ОЗУ мало, происходит поиск наиболее активных процессов, потребляющих память. Процессы сортируются по потреблению памяти и список их названий сохраняется в файлtop_proccesses_consuming_memory.txt
.send email if system memory is running low
— формируются сообщения для отправки на указанный адрес электронной почты.
Изменение прав доступа к скрипту
Для файла со скриптом Bash нужно задать права на исполнение. Чтобы это сделать, в терминале выполним следующую команду:
Читайте также: Как установить права доступа (chmod) отдельно для папки / файла и всех ее подпапок / подфайлов в терминале.
Также сделаем для скрипта Bash символическую ссылку (symlink) для создания задания cron
:
Теперь проверка использования памяти ОЗУ будет происходить каждый час работы сервера.
Читайте также: 11 примеров настройки выполнения регулярных задач с помощью Cron в Linux.
Выводы
Показанный в статье сценарий оболочки Bash позволяет отслеживать использование памяти ОЗУ и оповещать пользователя при достижении критически низких значений. Благодаря этому инструменту, Вы сможете поддерживать бесперебойную работу ОС и быстро выявлять потенциальные проблемы.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.