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

12 set 2022 1 min di lettura
Как запустить сценарий оболочки в качестве службы SystemD в Linux
Indice dei contenuti

Введение

Systemd — это программное приложение, которое предоставляет ряд системных компонентов для операционных систем Linux. Это первая служба, которая инициализирует последовательность запуска. Он всегда работает с pid 1. Это также помогает управлять системой и службой приложений в нашей ОС Linux.

Мы также можем запустить любой пользовательский скрипт в качестве службы systemd. Это помогает скрипту запускаться при старте системы. Это может быть полезно для запуска любого скрипта, который нужно запускать только при запуске или запускать все время.

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

Создать сценарий оболочки

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

sudo vi /usr/bin/script.sh

Добавьте следующий пример сценария:

#!/bin/bash

 while true
 do
 //Your statements here
 sleep 10
 done

Сохраните скрипт и установите права на выполнение с помощью команды chmod:

sudo chmod +x /usr/bin/script.sh

Для однократного запуска скрипта при запуске системы не требуется бесконечный цикл. Вместо приведенного выше сценария вы можете использовать сценарий оболочки для запуска в качестве службы Systemd.

Создайте файл SystemD

Создайте служебный файл для systemd в вашей системе. Этот файл должен иметь расширение .service и сохраняться в каталоге /lib/systemd/system/:

sudo vi /lib/systemd/system/shellscript.service

Теперь добавьте следующее содержимое и обновите имя и путь файла скрипта. Вы также можете изменить описание услуги:

[Unit]
 Description=My Shell Script

 [Service]
 ExecStart=/usr/bin/script.sh

 [Install]
 WantedBy=multi-user.target

Включить новую услугу

Ваша системная служба добавлена к вашей службе. Давайте перезагрузим демон systemctl, чтобы прочитать новый файл. Вам необходимо перезагружать этот демон каждый раз после внесения изменений в файл.service.

sudo systemctl daemon-reload

Теперь включите запуск службы при запуске системы, также запустите службу с помощью следующих команд:

sudo systemctl enable shellscript.service
sudo systemctl start shellscript.service

Наконец, убедитесь, что скрипт запущен и работает как служба systemd:

sudo systemctl status shellscript.service

Вывод

Это руководство помогло вам настроить и запустить сценарий оболочки в качестве службы systemd в Linux.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.