Как автоматически выполнить сценарий оболочки при загрузке системы в Linux
Автоматизация задач, выполняемых во время запуска системы, важна во многих серверных средах. В этом руководстве рассматривается настройка сервисного модуля systemd для выполнения специального сценария оболочки во время загрузки для таких задач, как запуск служб, проверка дискового пространства или создание резервных копий.
В этом уроке вы узнаете:
- Как создать сервисный модуль systemd
- Как написать шелл-скрипт для проверки места на диске
- Как настроить и включить запуск службы systemd во время загрузки
Системный сервисный блок
Создайте файл службы Systemd. Начните с создания файла модуля службы systemd. Сохраните служебный файл как
/etc/systemd/system/disk-space-check.service
.[Unit] Description=Check Disk Space on /home directory at Startup After=mysql.service [Service] ExecStart=/usr/local/bin/disk-space-check.sh [Install] WantedBy=default.target
Написание сценария оболочки: напишите сценарий оболочки, который будет выполнять служба systemd. Сохраните скрипт как
/usr/local/bin/disk-space-check.sh
.#!/bin/bash echo "Checking disk space on /home directory:" date > /root/disk_space_report.txt du -sh /home/ >> /root/disk_space_report.txt
Установить разрешения и включить службу: установите необходимые разрешения и включите службу systemd для запуска при загрузке.
$ sudo chmod 744 /usr/local/bin/disk-space-check.sh $ sudo chmod 664 /etc/systemd/system/disk-space-check.service $ sudo systemctl daemon-reload $ sudo systemctl enable disk-space-check.service
Проверьте службу Systemd. Убедитесь, что сценарий работает, запустив службу вручную.
$ sudo systemctl start disk-space-check.service $ sudo cat /root/disk_space_report.txt
Запустите службу вручную с помощью команды
systemctl start
. После запуска службы проверьте содержимое отчета о дисковом пространстве, просмотрев файлdisk_space_report.txt
, расположенный в каталоге/root/
. Этот файл должен содержать дату и использование дискового пространства в каталоге/home/
, что подтверждает успешное выполнение сценария.
Этот сценарий настраивает службу, которая будет выполняться после запуска службы MySQL, запуская сценарий для проверки дискового пространства.
Этот сценарий записывает текущую дату в файл и добавляет к нему информацию об использовании дискового пространства каталога /home. данные-предохранитель="22189504506">
Эти команды делают сценарий исполняемым, устанавливают соответствующие разрешения для файла службы, перезагружают конфигурацию менеджера systemd и позволяют службе запускаться при загрузке.
Заключение
Следуя этим шагам, ваша система Linux автоматически выполнит указанные проверки во время загрузки, что облегчит автоматическое обслуживание и мониторинг без необходимости ручного вмешательства.