Системным администраторам 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проверяется, меньше или равно значение переменнойfree100 МБ свободной памяти.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.

























