Как добавить скрипт в автозагрузку Linux



Разберем способ добавления ваших скриптов в автозагрузку с помощью Systemd. В примере буду использовать Debian 11 и скрипт созданный по пути(меняйте на свое):

nano /etc/systemd/system/script.service




Заполняем его:

[Unit]

Description=My Super Bicycle

After=network.target

[Service]

Type=oneshot

User=root

ExecStart=
/home/user/myscript.sh


[Install]

WantedBy=multi-user.target




[Unit] — раздел содержащий описание юнита.



Description=My Super Bicycle — устанавливает описание службе.

After=network.target — указываем, что данная служба будет запускаться после запуска сети.



[Service] — в этом разделе задаются параметры службы.



Type=oneshot — указываем, что служба выполнится один раз и завершится.

User=root — имя пользователя, от имени которого будет выполняться служба.

ExecStart=/home/user/myscript.sh — указываем команду или скрипт, который будет запущен.



[Install] — в этом разделе указываются дополнительные настройки по установке службы.



WantedBy=multi-user.target — эта служба будет запускаться в мультипользовательском режиме.



Далее выдаем права на файл службы:

chmod 664 /etc/systemd/system/script.service




Перезапускаем systemd демоны, добавляем в автозапуск и стартуем его:


systemctl daemon-reload



systemctl enable script.service --now




Перезагрузитесь и проверьте, что скрипт успешно запустился.



Удалить созданную службу в Systemd:


systemctl disable script.service



rm /etc/systemd/system/script.service




Admin 💻Guides