Инструменты пользователя

Инструменты сайта


linux:overall:services

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
linux:overall:services [2023/07/14 04:08]
admin
linux:overall:services [2023/12/16 06:44] (текущий)
admin
Строка 5: Строка 5:
  
 **Список активных служб** **Список активных служб**
-<code bash># list-init-files --type=service --state=enable</code> 
- 
-либо 
-<code bash># systemctl list-units</code> 
- 
-**Enable/Disable не подразумевает Start/Stop** с-но, даже после отключения службы (Disable), она продолжит работать, если уже была запущена.\\ 
- 
 <code bash> <code bash>
 +systemctl -a
 +systemctl -a | grep "myService"
 systemctl list-units systemctl list-units
 +list-init-files --type=service --state=enable
 +
 +systemctl list-unit-files "my-name"
 </code> </code>
 +
 +**Enable/Disable не подразумевает Start/Stop** с-но, даже после отключения службы (Disable), она продолжит работать, если уже была запущена.\\
  
  
 <details> <details>
-<summary>:!: Unit file </summary> +<summary>:!: Примеры </summary> 
-Пример файла+[[https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files|Описание директив]]\\
 <code bash> <code bash>
 [Unit] [Unit]
Строка 40: Строка 40:
 <code bash> <code bash>
 [Unit] [Unit]
-Description=my super service +    Description=FProfilesAutoAcceleration service 
-After=tank.mount +    After=tank.mount 
-After=mnt-storage.mount +    After=network-online.target
-After=network-online.target+
  
 [Service] [Service]
-ExecStart=java -jar -Dserver.port=8081 /../myfile.jar +    ExecStart=java -Dcom.sun.management.jmxremote \ 
-WorkingDirectory=<path-dir> +                   -Dcom.sun.management.jmxremote.port=10045 \ 
-Restart=always +                   -Djava.rmi.server.hostname=10.10.40.204 \ 
-RestartTimeout=15 +                   -Dcom.sun.management.jmxremote.authenticate=false \ 
-TimeoutSec=15 +                   -Dcom.sun.management.jmxremote.ssl=false \ 
-User=<my-user>+                   -jar FProfilesAutoAcceleration.jar \ 
 +                   -Xmx7G 
 +    WorkingDirectory=/opt/FProfilesAutoAcceleration 
 +    Restart=always 
 +    TimeoutSec=15 
 +    User=fprofilesac 
 + 
 +[Install] 
 +    Alias=fac.service
 </code> </code>
 +</details>
  
 +
 +
 +<details>
 +<summary>:!: Инстансы Systemd </summary>
 +SystemD поддерживает функционал инстансов, удобно что к самому приложению особых требований не предъявляется, по сути используются повторные запуски с разными параметрами/окружениями\\
 +
 +Суть в том что в юнит файле используем директиву "%i" везде где надо отразить уникальность инстанса, файл называем "myName@.service"\\
 +Далее, работаем с ним "systemctl start myName@one", "systemctl enable myName@two" и тд\\
 +Все что после собаки будет передаваться в юнит файл вместо директивы "%i", с-но гибкость очень высокая\\
 +
 +Для сервиса спокойно можно создать два юнит-файла, дял единичного и для мульти (хотя хз надо ли)\\
 +
 +Интересно что итогового юнит файла у зареганной службы нигде нет, есть только этот с собакой "myservice@.service"\\
 +При обращении к службе, переданное после собаки название просто подставляется в этот шаблон, так и работет похоже\\
 +Странно что после удаления пакета остается в зареганной службе, хоть и пишет что unit file not found\\
 +
 +Пример мульти конфига\\
 +<code bash>
 +[Unit]
 +Description="myName for %i instance"
 +Requires=network-online.target consul.service
 +Wants=openvpn-server.service zfs.target
 +After=network-online.target openvpn-server.service zfs.target consul.service
 +
 +[Service]
 +ExecStartPre=rm -f /opt/myName/log/%i.stdout
 +WorkingDirectory=/opt/myName
 +Environment=PYTHONUNBUFFERED=1
 +Type=exec
 +ExecStart=/usr/bin/python3 /opt/myName/myName.py -l critical -c %i_config.yaml -f log/%i.log
 +ExecStartPost=/bin/sleep 45
 +ExecStartPost=kill -0 $MAINPID
 +TimeoutStartSec=60
 +#Restart=on-failure
 +#RestartSec=5s
 +StandardOutput=file:/opt/myName/log/%i.stdout
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 </details> </details>
 +
 +
 +
 +
 +
 +
 +
 +
  
linux/overall/services.1689307717.txt.gz · Последнее изменение: 2023/07/14 04:08 — admin