Если вы хоть немного управляли системами Linux, вы уже знаете, насколько повторяющимися и времязатратными могут быть некоторые задачи. Будь то проверка дискового пространства, перезапуск проблемных служб или поддержание вашей системы в актуальном состоянии, выполнение всего вручную быстро становится головной болью, особенно если вы управляете более чем одним сервером.
В этой статье вы узнаете о пяти простых, но мощных Bash-скриптах, которые полезны в повседневном администрировании систем Linux. Эти скрипты подходят для начинающих и легко модифицируются под ваше окружение.
1. Скрипт мониторинга дискового пространства
Одна из самых распространенных проблем на серверах Linux - это нехватка дискового пространства. Логи заполняют пространство, резервные копии растут, и вдруг ваше приложение вылетает, потому что на сервере недостаточно места. Вот почему мой первый скрипт проверяет использование диска и отправляет предупреждение, если использование превышает установленный лимит (скажем, 80%).
|
|
Этот скрипт проверяет каждую партицию, и если какая-либо из них превышает порог в 80%, я получаю электронное письмо, а также push-сообщение в ntfy. Это помогает мне решить проблемы до того, как они станут серьезными. Я запускаю этот скрипт через cron каждые 6 часов.
2. Скрипт автоматизации обновления системы
Поддержание систем в актуальном состоянии имеет критическое значение, особенно для исправлений безопасности. Я использую этот простой Bash-скрипт для автоматического обновления пакетов, очистки системы и отправки мне отчета.
|
|
(Для пользователей RHEL/CentOS просто замените apt на yum или dnf команды.)
Запуск этого скрипта через cron каждую день позволяет мне поддерживать мои системы в актуальном состоянии и чистоте. Ежедневный отчет по электронной почте, а также push-сообщение в ntfy дает мне уверенность в том, что все прошло гладко. Если что-то сломается, я могу проверить журнал и откатить изменения.
3. Скрипт проверки состояния сервиса
В качестве системного администратора я должен знать, если ключевые сервисы, такие как Apache, Nginx или MySQL, перестают работать. Этот скрипт проверяет, запущена ли конкретная служба, и, если нет, перезапускает ее и уведомляет меня.
|
|
Этот скрипт проверяет их каждые 5 минут с помощью cron. Если какой-либо сервис не работает, он автоматически перезапускает его и отправляет мне по электронной почте, а также push-сообщение в ntfy.
4. Скрипт резервного копирования важных файлов
Резервные копии скучны, пока они не понадобятся. У меня есть пользовательский сценарий Bash, который создает резервные копии моих критически важных файлов (таких как веб-файлы, базы данных, конфигурационные файлы) и хранит их в сжатом архиве.
|
|
У меня были случаи, когда пользователи случайно удаляли важные данные, и этот скрипт спасал меня не раз. Я храню резервные копии за 7 дней и чередую их с другим скриптом для очистки. Вы также можете загрузить резервные копии на удаленный сервер или облачное хранилище для большей безопасности. Уведомляет по электронной почте, а также push-сообщение в ntfy.
5. Скрипт мониторинга входа пользователя
Этот скрипт проверяет активность входа пользователей и уведомляет вас, если кто-то входит в систему, что особенно полезно, если вы управляете производственными серверами и хотите отслеживать доступ.
|
|
Этот скрипт помогает мне узнать, кто получил доступ к серверу и когда. Он отлично подходит для обнаружения необычных паттернов доступа. Вы можете расширить его, чтобы блокировать IP-адреса или вызывать тревогу, если это необходимо. Уведомляет по электронной почте, а также push-сообщение в ntfy.
Автоматизация с помощью Cron
Расписания cron
хранятся в файле с именем crontab. Типичная запись crontab начинается с пяти значений (или звездочек), за которыми следует команда. Значения сообщают cron
, когда выполнять команду, а звездочка означает «все».
|
|
Чтобы отредактировать crontab, выполните:
|
|
И добавьте строку:
|
|
Это запланирует cron
для запуска команды в 3:00, каждый день любого месяца.
Убедитесь, что сценарий имеет исполняемые разрешения.
Настройка почты
Если вы хотите получить отчет по электронной почте, убедитесь, что ваш сервер может отправлять почту – на большинстве систем достаточно просто установить mailutils.
|
|
Вам также может понадобиться настроить Postfix или SSMTP для корректной пересылки электронной почты, особенно если вы находитесь на облачной виртуальной машине.
Завершение
Эти скрипты могут показаться простыми на первый взгляд, но они выполняют критически важные задачи, которые поддерживают стабильность, безопасность и бесперебойную работу серверов.
Вы также можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья, или просто оставить комментарий ниже. Спасибо.