Поиск по сайту:

Как автоматически выполнить сценарий оболочки при загрузке системы в Linux


Автоматизация задач, выполняемых во время запуска системы, важна во многих серверных средах. В этом руководстве рассматривается настройка сервисного модуля systemd для выполнения специального сценария оболочки во время загрузки для таких задач, как запуск служб, проверка дискового пространства или создание резервных копий.

В этом уроке вы узнаете:

  • Как создать сервисный модуль systemd
  • Как написать шелл-скрипт для проверки места на диске
  • Как настроить и включить запуск службы systemd во время загрузки

Системный сервисный блок

  1. Создайте файл службы 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
    
  2. Этот сценарий настраивает службу, которая будет выполняться после запуска службы MySQL, запуская сценарий для проверки дискового пространства.

  3. Написание сценария оболочки: напишите сценарий оболочки, который будет выполнять служба 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
  4. Этот сценарий записывает текущую дату в файл и добавляет к нему информацию об использовании дискового пространства каталога /home. данные-предохранитель="22189504506">

  5. Установить разрешения и включить службу: установите необходимые разрешения и включите службу 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
    
  6. Эти команды делают сценарий исполняемым, устанавливают соответствующие разрешения для файла службы, перезагружают конфигурацию менеджера systemd и позволяют службе запускаться при загрузке.

  7. Проверьте службу Systemd. Убедитесь, что сценарий работает, запустив службу вручную.

    $ sudo systemctl start disk-space-check.service
    $ sudo cat /root/disk_space_report.txt
    

    Запустите службу вручную с помощью команды systemctl start. После запуска службы проверьте содержимое отчета о дисковом пространстве, просмотрев файл disk_space_report.txt, расположенный в каталоге /root/. Этот файл должен содержать дату и использование дискового пространства в каталоге /home/, что подтверждает успешное выполнение сценария.

  8. Тестирование пользовательской службы сценариев systemd

Заключение

Следуя этим шагам, ваша система Linux автоматически выполнит указанные проверки во время загрузки, что облегчит автоматическое обслуживание и мониторинг без необходимости ручного вмешательства.

Статьи по данной тематике: