Systemd example skriptas

Iš Žinynas.
Jump to navigation Jump to search

Systemd serviso kūrimas. Pavyzdys kurį reiktų užvardinti pavadinimas.service ir įdeti į /etc/systemd/system/.

[Unit]
Description=nodm display manager
[Service]
EnvironmentFile=/etc/nodm.conf
ExecStart=/opt/nodm/sbin/nodm
TimeoutStopSec=4sec
[Install]
WantedBy=graphical.target

/etc/rc.local[keisti]

Norint užkrauti seną, gerą rc.local, reikia sukurti panašų systemd servisą /etc/systemd/system/rc-local.service su kuriuo nurodyti jog leistų /etc/rc.local (failas turi būti su +x teisėmis). Serviso vidus:

[unit]
Description=/etc/rc.local Compatibility
[Service]
Type=oneshot
ExecStart=/etc/rc.local
TimeoutSec=0
StandardInput=tty
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target

Taip pat sukuriame failą /etc/rc.local su vidumi:

#!/bin/sh
echo "labadiena"
/jusu/norima/komanda
/antra/komanda
exit 0

Nepamirštamo paleidimo teisių

chmod +x /etc/rc.local

Problemų sprendimas[keisti]

Jeigu kažkas nesuveikia, būtinai pažiūrime sistemos bei su šiuo procesu susijusius žurnalus:

stat /opt/teamviewer11/tv_bin/teamviewerd # ar turi paleidimo teises +x ?
journalctl /opt/teamviewer11/tv_bin/teamviewerd # sistemos žurnalo aprašai
systemctl status teamviewer # parodo serviso statusa

Servisų pavyzdžiai[keisti]

TeamViewer[keisti]

[Unit]
Description = TeamViewer remote control daemon
After = NetworkManager-wait-online.service network.target network-online.target dbus.service
Wants = display-manager.service NetworkManager-wait-online.service network-online.target
Requires = dbus.service
[Service]
Type = forking
PIDFile = /var/run/teamviewerd.pid
ExecStart = /opt/teamviewer/tv_bin/teamviewerd -d
Restart = on-abort
StartLimitInterval = 60
StartLimitBurst = 10
[Install]
WantedBy = graphical.target