Linux Sunucularda System Servisi Oluşturmak

Linux Sunucularda System Servisi Oluşturmak

/etc/systemd/system/ klasörü içinde bir dosya oluşturuyoruz. Servisimizin adını hatırlatacak şekilde isim verilmesi işimizi kolaylaştıracaktır.

Örneğin grafana.service

Bu dosyanın içinde Servisin tanımını, çalışacağı path’i ve çalışma modlarını tanımlayabilirsiniz. Aşağıda grafana için oluşturduğumuz bir örnek bulunmaktadır.

cat /etc/systemd/system/grafana.service

[Unit]
Description=Grafana Servisi

[Service]
WorkingDirectory=/root/
Type=forking
ExecStart=/bin/bash grafana_start.sh
KillMode=process

[Install]
WantedBy=multi-user.target

Görüldüğü üzere /root dizini içinde grafana_start.sh dosyasını çalıştırması beklenmektedir, Çalıştırdığında oluşan process id yi yazar, servisi stop ettiğinizde bu pid’i kill eder.

Servis dosyamızı oluşturduktan sonra bunu sisteme duyurmak gerekir , aşağıdaki komut ile yapabilirsiniz.

systemctl daemon-reload

Sistemin yeniden başlangıcında çalışması için enable edebilirsiniz.

systemctl enable grafana

Bu sırada servisin çalıştıracağı bash scriptine de göz gezdirelim. /root dizini içinde grafana_start.sh isimli bir dosya oluşturduk. Dosyanın içeriği aşağıdaki gibi.

#!/bin/sh
nohup /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/ > /dev/null 2>&1 &

Bash scriptlerin çalışabilmesi için çalışma hakkının olması gerekir. Aşağıdaki şekilde yapabilirsiniz.

chmod +x /root/grafana_start.sh

Şimdi servisimizi start edebiliriz.

systemctl start grafana

Aşağıda start/stop sonuçlarınıi görebilirsiniz.

[[email protected] ~]# ps aux | grep graf | grep -v color
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl start grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
root     62255  4.2  0.0 1199056 42824 ?       Sl   14:18   0:00 /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl stop grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# systemctl start grafana
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]#
[[email protected]hostrazzi02 ~]# ps aux | grep graf | grep -v color
root     62336  8.0  0.0 1059788 37252 ?       Sl   14:19   0:00 /opt/Grafana/grafana_7.5.2/bin/grafana-server -homepath /opt/Grafana/grafana_7.5.2/
[[email protected]hostrazzi02 ~]#

Share Button

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.