Skip to content

Instantly share code, notes, and snippets.

@ezhov-da
Last active July 22, 2022 13:22
Show Gist options
  • Save ezhov-da/51c89497719e30791155abac585d468a to your computer and use it in GitHub Desktop.
Save ezhov-da/51c89497719e30791155abac585d468a to your computer and use it in GitHub Desktop.
linux systemd
https://wiki.archlinux.org/index.php/Systemd_%28%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%29
https://habrahabr.ru/company/southbridge/blog/255845/
Самый простой файл для systemd [git-rest.service]:
======================================================
[Unit]
Description=git-rest
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/sh /usr/git-rest-service/start.sh
WorkingDirectory=/usr/git-rest-service
Restart=always
RestartSec=10
TimeoutSec=300
======================================================
> Кладем этот файл в каталог /etc/systemd/system/
> Смотрим его статус systemctl status git-rest
> Видим, что он disabled — разрешаем его
systemctl enable myunit
systemctl -l status myunit
> Запускаем сервис: systemctl start myunit
> Смотрим красивый статус: systemctl -l status myunit
Если есть ошибки — читаем вывод в статусе, исправляем, не забываем после исправлений в юните перегружать демон systemd
systemctl daemon-reload
ВАЖНО!
> У файла sh, который запускает приложение должны быть права на выполнение chmod 777
> В файле sh Указываются полные пути
> При ошибке: code=exited, status=127
Необходимо проверить наличие файла, доступа на выполнение, путь к приложению в самом файле.
ВАЖНО!
> Обрати внимание на `Type` в секции Service:
https://wiki.archlinux.org/index.php/Systemd_(%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9)#.D0.A2.D0.B8.D0.BF.D1.8B_.D1.81.D0.BB.D1.83.D0.B6.D0.B1
Так как при неверном типе приложение может перезапускаться!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment