Автоматический запуск службы oneshot при загрузке

У меня есть служба oneshot, которую я хочу запустить во время загрузки на rhel 7.4.

Я понимаю, что "chkconfig --add" - один из способов добиться этого. Но для этого требуется, чтобы сценарий запуска присутствовал в

Каталог /etc/init.d

Я понимаю, что для служб, не связанных с одним выстрелом, в служебном файле systemd можно использовать параметр Restart =.

Если я попытаюсь установить Restart=always для службы одиночного снимка, это не сработает. Сервису Oneshot требуется "Restart=no".

Есть ли способ запустить службу onehot при загрузке без скрипта в

Каталог /etc/init.d


person Abhishek Kane    schedule 10.04.2018    source источник
comment
Я добавил ответ. Обратите внимание на Type oneshot.   -  person Valerio Bozz    schedule 23.03.2021


Ответы (3)


"systemctl enable" позаботится о запуске любой службы, будь то oneshot или другой.

person Abhishek Kane    schedule 12.04.2018

Я думаю, что вам нужно добавить службу в /etc/init.d и использовать chkconfig, чтобы всегда запускать службу во время загрузки, "chkconfig on" запускает службу во время загрузки компьютера. Также вы можете запустить сервис через скрипт cron. См .: cat / etc / crontab

person Marcos Riveros    schedule 10.04.2018

Прежде всего, поскольку мы не упомянули вашу службу Systemd, вот пример:

Пример имени файла:

/etc/systemd/system/my-startup-script.service

Пример содержания:

[Unit]
Description=My startup script
#After=network.target

[Service]
Type=oneshot
ExecStart=/root/my-startup-script.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

После этого просто включите его:

systemctl daemon-reload
systemctl enable my-startup-script

Это все, друг мой!

person Valerio Bozz    schedule 23.03.2021