DEV Community

Cover image for Create Simple Systemd Service in Linux
erfandwi
erfandwi

Posted on

Create Simple Systemd Service in Linux

Terkadang setelah Anda membuat sebuah script, Anda mungkin ingin script tersebut agar dapat dikontrol oleh systemd. Hal ini memungkinkan script untuk dimulai ulang secara otomatis jika prosesnya berhenti, atau untuk dijalankan secara otomatis setiap kali server melakukan booting.

Berikut adalah cara sederhana untuk membuat service di Linux menggunakan systemd.

Langkah 1: Buat Script Bash

Pertama, buat script bash untuk mengatur beberapa parameter kernel. Lalu, simpan script di /opt/myscript/kernel.sh.

echo 1 >/sys/kernel/mm/ksm/run
echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
echo never > /sys/kernel/mm/transparent_hugepage/enabled
Enter fullscreen mode Exit fullscreen mode

Langkah 2: Buat File Service

Selanjutnya, buat file kernel.service di dalam folder /etc/systemd/system dengan perintah berikut:

nano /etc/systemd/system/kernel.service
Enter fullscreen mode Exit fullscreen mode

Kemudian masukkan konfigurasi berikut:

[Unit]
Description=Optimasi Kernel
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
User=root
ExecStart=/bin/bash /opt/myscript/kernel.sh
Restart=on-failure
RestartSec=5
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=myscript

[Install]
WantedBy=multi-user.target
Alias=kernel.service
Enter fullscreen mode Exit fullscreen mode

Penjelasan:

  • Description: Nama deskripsi service
  • After: Service akan mulai setelah network aktif
  • Type=simple: Service berjalan di foreground
  • User: Akun yang digunakan untuk menjalankan service
  • ExecStart: Perintah untuk menjalankan script
  • Restart: Kebijakan restart otomatis
  • RestartSec: Waktu tunggu sebelum restart
  • StandardOutput & StandardError: Konfigurasi output log

Anda juga dapat membuat file service dengan kondisi seperti:

  • Untuk script yang hanya perlu berjalan sekali saat boot.
  [Service]
  Type=oneshot
  ExecStart=/path/to/script.sh
  RemainAfterExit=yes
Enter fullscreen mode Exit fullscreen mode
  • Jika script membutuhkan environment variable tertentu:
  [Service]
  ...
  Environment="MY_VARIABLE=my_value"
  EnvironmentFile=/path/to/env/file
Enter fullscreen mode Exit fullscreen mode

Langkah 3: Jalankan Service

Setelah file service dibuat, jalankan perintah berikut untuk mengaktifkan dan menjalankan service:

chmod +x /opt/myscript/kernel.sh
systemctl daemon-reload
systemctl enable kernel.service
systemctl start kernel.service
Enter fullscreen mode Exit fullscreen mode

Top comments (0)