Если вы хоть немного управляли системами 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, каждый день любого месяца.
Убедитесь, что сценарий имеет исполняемые разрешения.
Завершение
Эти скрипты могут показаться простыми на первый взгляд, но они выполняют критически важные задачи, которые поддерживают стабильность, безопасность и бесперебойную работу серверов.
Вы также можете поделиться статьей со своими друзьями в социальных сетях, которым может быть интересна эта статья, или просто оставить комментарий ниже. Спасибо.