Как добавить команду в автозагрузку linux при помощи systemd

Запуск программ и демонов при помощи автозагрузки systemd прост как мычание. Разберем пример на основе старта демона searchd для поисковика sphinx при перезагрузке системы. Кроме того, мы выполним две даже команды, и даже с условием, сперва создав директорию под процесс(если директории не существует) и затем запустим сам процесс. Создадим юнит файл runsearchd.service

nano /lib/systemd/system/runsearchd.service

С таким содержимым:

[Unit]
Description=Run searchd daemon
After=multi-user.target
After=sphinxsearch.service
After=mysql.service

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/bash -c 'if [ ! -d /run/sphinxsearch ]; then mkdir /run/sphinxsearch ; fi'
ExecStart=/usr/bin/searchd -c '/etc/sphinxsearch/sphinx.conf'

[Install]
WantedBy=multi-user.target

В параметре ExecStart мы указали что нужно создать директорию в случае отсутствия таковой и запустить нужный нам процесс с нужными параметрами.

На юнит файл chmod 644 chmod 644 /lib/systemd/system/runsearchd.service и перезагружаем настройки systemd systemctl daemon-reload и добавляем юнит в автозапуск при загрузке linux системы

systemctl enable runsearchd.service

Всё готово.

Оставить ответ

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