Домены
Интересные статьи
Домены

Как запустить bash скрипт как systemd сервис

Иногда требуется запустить произвольный скрипт и держать его запущенным постоянно. Раньше для этого часто использовали Supervisor, но в современных ОС есть встроенное средство (а точнее сервисы это часть довольно большого комплекса) — systemd.

В это статье я расскажу, как запустить произвольный bash скрипт в качестве systemd сервиса

Создание bash скрипта

Создадим с помощью любого текстового редактора простой bash скрипт, я буду использовать vi:

vi /usr/bin/script.sh 

В качестве содержимого возьмем бесконечный цикл:

#!/bin/bash
 
while true
do
 // Как-то действия
 sleep 10
done

Сохраним его и дадим права на запуск:

chmod +x /usr/bin/script.sh 

Создание systemd сервиса

systemd сервисы должны иметь расширение .service и должны быть расположены в /lib/systemd/system/

Создадим сервис с именем testservice.service:

vi /lib/systemd/system/testservice.service 

В качестве содержимого укажем:

[Unit]
Description=Test Script

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

[Install]
WantedBy=multi-user.target

Запуск сервиса и добавление в автозагрузку

Т.к. мы добавили новый сервис, то нужно перестроить список сервисов:

systemctl daemon-reload 

Для запуска сервиса используется команда опция start, а для добавления в автозагрузку — enable:

systemctl enable testservice.service
systemctl start testservice.service

Либо вы можете добавить сервис в автозагрузку и сразу запустить его командой:

systemctl enable testservice.service --now

Теперь проверим статус сервиса:

systemctl status testservice.service 

Сервис будет запущен и успешно работать.

На этом всё 🙂

Обо мне cyber01

Прочитайте также

Как сделать дамп только нужных записей из базы данных

Бывало такое, что из всей таблицы нужно сделать дамп только определенных строк? Например, результата какого-либо …

Как установить Zend Framework на Ubuntu 18.04

Zend Framework 3 это последняя версия фреймворка. Новая версия отличается большей производительностью. Zend это фреймворк …

Как установить MariaDB на Debian 10 (Buster)

MariaDB это улучшенная, совместимая замена для MySQL. MariaDB имеет набор функций, которые превосходят оригинальный MySQL. …

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *