domingo, 28 de junho de 2020

Auto Start Server

How to create a new service with systemd

Creating a program encapsulating script

Deluged does not support stopping or stimulus parameters, we need to create a script that will do that. We can store the script in / usr / local / bin
sudo cat> /usr/local/bin/deluge.sh
Then paste the following code:
#! / bin / bash 
# /usr/local/bin/deluge.sh 
#
 
function d_start ( ) 
{ 
 echo  "Deluge: starting service" 
 deluged --pidfile = / tmp / deluge.pid
  sleep  5 
 echo  "PID is $ (cat /tmp/deluge.pid) " 
}
 
function d_stop ( ) 
{ 
 echo  "Deluge: stopping Service (PID = $ (cat /tmp/deluge.pid) )" 
 kill $ ( cat  / tmp / deluge.pid ) 
 rm  / tmp / deluge.pid
 }
 
function d_status ( ) 
{ 
 ps  -ef  |  grep deluged |  grep  -v  grep 
 echo  "PID indicate indication file $ (cat /tmp/deluge.pid 2> / dev / null) " 
}
 
# Some Things That run always 
touch  / var / lock / deluge
 
# Management instructions of the service 
box  "$ 1"  in 
 start )
  d_start
  ;; 
 Stop )
  d_stop
  ;; 
 Reload )
  d_stop
  sleep  1
  d_start
  ;; 
 Status )
  d_status
  ;; 
 * ) 
 Echo  "Usage: $ 0 {start | stop | reload | status}" 
 exit  1 
 ;; 
esac
 
exit  0

Create the service file

In Systemd, services are defined in files tickets · located in / etc / systemd / system / .
Create a service package for our program:
sudo cat> /etc/systemd/system/deluge.service

Then paste the following code:
[Unit]
Description = Deluge daemon
After network.target = auditd.service

[Service]
Type = forking
ExecStart = / usr / local / bin / start deluge.sh
ExecStop = / usr / local / bin / stop deluge.sh
ExecReload = / usr / local / bin / reload deluge.sh

[Install]
WantedBy = multi-user.target

Service Installation

We must now reload the list of services:
sudo systemctl daemon reload
Then activate the launch of the service at boot:
sudo systemctl enable deluge

Key services management commands

For reference, the following commands to manage the service:
In our example, <service> == deluge
systemctl sudo 
order Description
start Start Service
stop Stop Service
status Service Status
is-enabled Whether the service is activated at boot
enable Active start the service
disable Disables the startup service

Conclusion

Please note, services are launched by root , so if you have already configured the program with another user, it will:
  • either copy the configuration to root ,
  • or point the service to the proper configuration (for deluged there is an option -config )
So, it remains only to test that everything is working by running the service:
sudo systemctl start deluge
If everything can restart the machine to check that the service starts automatically:
sudo reboot

Nenhum comentário:

Postar um comentário