Настройка автозапуска скриптов

Для создания автозапуска скрипта через systemd в Ubuntu, следуйте этим шагам. Мы будем использовать пример конфигурации systemd для сервиса RTSPtoWeb.

Создание файла службы systemd

  1. Откройте терминал на вашем компьютере с Ubuntu.

  2. Создайте новый файл службы systemd с использованием текстового редактора. В этом примере используется nano. Замените RTSPtoWeb.service на желаемое имя вашего файла службы:

sudo nano /etc/systemd/system/RTSPtoWeb.service

Данная команда нужна для создания или редактирования файла службы Systemd на Linux-сервере.

Ввод конфигурации службы

Скопируйте и вставьте вашу конфигурацию в открывшийся текстовый файл:

[Unit]
Description=RTSPtoWeb
After=network.target

[Service]
Type=simple
Restart=always
RestartSec=2
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=FRAME-SERVER
WorkingDirectory=/var/www/RTSP-TEST/
ExecStart=/var/www/RTSP-TEST/RTSPtoWeb

[Install]
WantedBy=multi-user.target

Этот блок представляет собой конфигурацию службы Systemd для RTSPtoWeb. Вот что означает каждая часть:

[Unit]

  • Description=RTSPtoWeb: Краткое описание службы.

  • After=network.target: Указывает, что служба должна запускаться после того, как сеть будет доступна.

[Service]

  • Type=simple: Указывает, что это простая служба, где основной процесс определяется в ExecStart.

  • Restart=always: Служба будет автоматически перезапускаться в случае её завершения.

  • RestartSec=2: Задержка в 2 секунды перед перезапуском службы.

  • StandardOutput=syslog и StandardError=syslog: Вывод и ошибки будут записываться в системный журнал.

  • SyslogIdentifier=FRAME-SERVER: Идентификатор для сообщений в системном журнале.

  • WorkingDirectory=/var/www/RTSP-TEST/: Рабочая директория, из которой будет запускаться служба.

  • ExecStart=/var/www/RTSP-TEST/RTSPtoWeb: Команда для запуска службы.

[Install]

  • WantedBy=multi-user.target: Определяет, что служба должна запускаться на этапе загрузки multi-user, что обычно соответствует стандартному многопользовательскому режиму без графического интерфейса.

После вставки конфигурации сохраните и закройте файл. Если вы используете nano, это можно сделать нажатием Ctrl+O, Enter и Ctrl+X.

Перезагрузка daemon systemd

Для того чтобы systemd прочитал ваш новый файл конфигурации и знал о новой службе, выполните:

sudo systemctl daemon-reload

Эта команда используется для того, чтобы заставить Systemd перечитать конфигурационные файлы служб. Это необходимо делать после изменения или создания файлов службы в /etc/systemd/system/.

Включение автозапуска службы

Чтобы ваша служба автоматически запускалась при старте системы, включите её:

sudo systemctl enable RTSPtoWeb.service

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

Запуск службы

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

sudo systemctl start RTSPtoWeb.service

Используется для непосредственного запуска службы RTSPtoWeb.

Проверка статуса службы

Проверьте статус вашей службы, чтобы убедиться, что она запущена корректно:

sudo systemctl status RTSPtoWeb.service

используется для проверки текущего состояния службы RTSPtoWeb.

Дополнительные команды для управления службой

  • Остановка службы: sudo systemctl stop RTSPtoWeb.service

  • Перезапуск службы: sudo systemctl restart RTSPtoWeb.service

  • Просмотр журнала службы: sudo journalctl -u RTSPtoWeb.service

Следуя этим шагам, вы сможете настроить автозапуск любых скриптов или программ на Ubuntu с помощью systemd. Убедитесь, что пути к рабочему каталогу и исполняемому файлу в вашем файле службы указаны верно.

Last updated