Systemd start-script för Jessie
Posted: Tue 09 Aug 2016, 09:57
Dom flesta Linux-distributioner inkl Raspbian Jessie börjar implementera ett nytt sätt att starta tjänster på.
Man håller på att fasa ut det gamla SystemV init mot SystemD istället. Jag tänker inte ta ställning för eller emot utan här kommer mitt förslag på startscript för att starta SPC Web Gateway på det nya sättet. Kommentarer om dess utformning mottages tacksamt. Detta är mitt första SystemD-försök...
Skapa en script-fil i /etc/systemd/system
Scriptet ser ut så här:
Spara filen.
Uppdatera SystemD genom följande kommando:
Aktivera scriptet med följande kommando:
Nu är scriptet installerat och kommer startas automatiskt vid nästa omstart.
Vill du manuellt starta, stoppa, omstarta eller visa status på tjänsten är det följande kommandon.
Notera att man inte behöver skriva ut .service efter namnet om man inte vill.
För att ta bort det gamla SystemV scriptet som installeras automatiskt kör ni följande kommandot.
Den andra raden är inte nödvändig då scriptet inte körs om det bara ligger i /etc/init.d men det gör å andra sidan ingen nytta där heller
Det går givetvis att välja andra namn på script-filen om man vill samt modifiera en massa parametrar men detta borde funka för dom flesta.
Man håller på att fasa ut det gamla SystemV init mot SystemD istället. Jag tänker inte ta ställning för eller emot utan här kommer mitt förslag på startscript för att starta SPC Web Gateway på det nya sättet. Kommentarer om dess utformning mottages tacksamt. Detta är mitt första SystemD-försök...
Skapa en script-fil i /etc/systemd/system
Code: Select all
cd /etc/systemd/system
touch spc-web-gateway.service
chmod 664 spc-web-gateway.service
nano spc-web-gateway.service
Code: Select all
[Unit]
Description=Lundix IT SPC Web Gateway
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/opt/spc-web-gateway/spc-web-gateway
PIDFile=/var/run/spc-web-gateway.pid
Restart=always
RestartSec=10
User=pi
[Install]
WantedBy=multi-user.target
Uppdatera SystemD genom följande kommando:
Code: Select all
systemctl daemon-reload
Code: Select all
systemctl enable spc-web-gateway.service
Vill du manuellt starta, stoppa, omstarta eller visa status på tjänsten är det följande kommandon.
Code: Select all
systemctl start spc-web-gateway
systemctl stop spc-web-gateway
systemctl restart spc-web-gateway
systemctl status spc-web-gateway
För att ta bort det gamla SystemV scriptet som installeras automatiskt kör ni följande kommandot.
Code: Select all
update-rc.d spc-web-gateway remove
rm /etc/init.d/spc-web-gateway
Det går givetvis att välja andra namn på script-filen om man vill samt modifiera en massa parametrar men detta borde funka för dom flesta.