Otomasi program menggunakan systemd

Dalam kesempatan kali ini saya akan mencontohkan menjalankan program secara otomatis dengan systemd linux

Apa itu systemd

    Systemd banyak digunakan distribusi linux dalam manajemen jalannya semua pengaturan dan servis sistem linux. Systemd memiliki fitur seperti permintaan berjalan otomatis dalam background, mount and automount point, snapshot, process tracking.


Lalu bagaimana cara menggunakan systemd?

Membuat program sederhana dalam python

Membuat program python3 hello.py dengan:


Kemudian edit dan masukan kode:

Program ini akan melakukan perintah cetak sebanyak 10 kali

Kemudian buat program hello.py sebagai executable file:


Membuat file hello.service

Buat file hello.service:


Edit file dengan:


Penjelasan:
  • Unit : mengindentifikasi unit dari service. Dalam hal ini nama dari service adalah hello service
  • Service : melakukan perintah utama yang akan dijalankan oleh service
    • ExecStartPre : perintah yang dijalankan sebelum service berjalan
    • ExecStart : perintah yang dijalankan saat service pertamakali berjalan
    • WorkingDirectory : direktori utama untuk menjalankan program
    • Restart : melakukan pengulangan program jika terjadi kegagalan atau program telah selesai dijalankan
    • User : identifikasi user yang menjalankan proses hello service
  • Install : menjelaskan dimana proses hello service ini berjalan pada saat boot. dalam hal ini service berjalan saat multi-user berjalan

Kemudian copy file hello.service ke /etc/systemd/system/


Disini perlu memasukan password anda!

Menyalakan hello service

Untuk menyalakan hello service kita perlu membuat systemd untuk mengenali adanya hello.service


dalam hal ini hello service belum menyala. Untuk menjalankannya perlu melakukan start pada systemctl

untuk mengetahui apakah service telah selesai berjalan bisa menggunakan command:


bisa kita lihat program telah berhasil dijalankan!!!!

Perintah2 yang dapat membantu dalam systemd

  • systemctl enable <service> : memerbolehkan jalannya service
  • systemctl disable <service> : melarang jalannya service
  • systemctl start <service> : menjalankan service
  • systemctl stop <service> : menghentikan service
  • systemctl restart <service> : menjalankan kembali service
  • systemctl daemon-reload : melakukan muat ulang semua file service dalam sistem

Komentar

Postingan Populer