Cara Menulis Layanan SystemD Sederhana

Cara Menulis Layanan SystemD Sederhana

Objektif

Tulis Layanan Sistem Dasar.

Distribusi

Ini akan bekerja pada setiap distribusi yang menjalankan SystemD.

Persyaratan

Instalasi linux yang berfungsi dengan hak istimewa SystemD dan Root.

Konvensi

  • # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah
  • $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa

Perkenalan

Systemd hampir tidak bisa dihindari. Ini telah memanfaatkan begitu banyak aspek ekosistem Linux sehingga perlu bagi admin Linux untuk mengetahui setidaknya dasar -dasar cara kerjanya.

Salah satu titik penjualan utama SystemD adalah kemudahan file layanan menulis. Mereka bukan skrip. Sebaliknya, mereka adalah file konfigurasi dasar. Sementara mereka bisa tumbuh menjadi rumit, mereka biasanya sangat sederhana.

Buat file

Layanan SystemD ada di /etc/systemd/system. Jika Anda melihat sistem Anda, semuanya ada di sana. Sebenarnya, buka sshd.melayani. Pindai, dan lihat apa yang ada di sana. Anda mungkin tidak akan tahu segalanya, tetapi Anda pasti bisa memahaminya dan mengenali betapa sederhananya itu.

Setiap .melayani file yang Anda buat di direktori itu dapat dijalankan sebagai layanan, jika Anda membangunnya dengan benar.

Buat file yang Anda inginkan .melayani perpanjangan.

Satuan

Bagian pertama yang perlu Anda tulis adalah [Satuan]. Untuk layanan dasar, yang Anda butuhkan adalah deskripsi dasar dari layanan Anda. Mulailah dengan cara ini.

[Unit] deskripsi = sedikit tentang layanan Anda

Melayani

Itu [Melayani] Blok adalah sebagian besar konten konfigurasi. Ini adalah blok yang berisi arahan yang memberi tahu layanan bagaimana dan di mana harus menjalankan.

Buat blok. Hal pertama yang perlu Anda letakkan adalah jenis layanannya. Ini hanya layanan sederhana, jadi beri tahu systemd itu.

Ketik = sederhana

Bit berikutnya mungkin yang paling penting. Anda perlu memberi tahu Systemd apa yang harus dieksekusi. Ini sebenarnya adalah perintah biasa atau panggilan ke skrip. Lihatlah contohnya.

ExecStart =/opt/scripts/run-backup.sh --full--to-eksternal

Jelas, Anda tidak memiliki skrip itu, tetapi Anda dapat melihat bagaimana Anda hanya menggunakan jenis perintah yang sama yang biasanya Anda jalankan.

Systemd juga sangat mampu memulai kembali layanan yang gagal. Ini adalah parameter lain yang dapat Anda atur dalam konfigurasi ini. Jika Anda ingin restart saat gagal, coba yang berikut ini.

Restart = On-failure

Ini juga mungkin berguna untuk menentukan file PID untuk layanan Anda, jika memerlukannya.

Pidfile =/tmp/yourservice.pid

Jika Anda ingin atau membutuhkan pengguna atau direktori tertentu untuk bekerja, Anda dapat melakukannya juga.

User = srvuser workingdirectory =/var/yourservice

Anda juga dapat mengatur direktori runtime dan izin file dari direktori itu saat digunakan.

Runtimedirectory = yourservice runtimedirectorymode = 0755

Masih banyak lagi yang bisa Anda lakukan, tetapi dengan dasar -dasar ini, Anda harus dapat mengumpulkan layanan sederhana Anda sendiri dan bekerja dengan yang sudah ada.

Install

Akhirnya, ada [Install] memblokir. Yang perlu Anda lakukan di sini adalah menentukan bagaimana layanan Anda harus diaktifkan. Cara paling umum untuk melakukan ini adalah dengan multi-pengguna.target.

[Install] wantedby = multi-pengguna.target

Menutup pikiran

Itu saja di sini adalah untuk dasar -dasarnya. Anda pasti dapat membuat dan memodifikasi layanan dasar dan bahkan sedikit lebih canggih. Semoga, Anda akan mendapatkan lebih banyak kepercayaan diri bekerja dengan SystemD dan menjadi lebih nyaman membuat file layanan Anda sendiri dengan lebih banyak pengalaman.

Tutorial Linux Terkait:

  • Hal -hal yang harus diinstal pada ubuntu 20.04
  • Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
  • Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
  • Unduh Linux
  • Distro linux terbaik untuk pengembang
  • Instalasi OpenLitespeed di Linux
  • File Konfigurasi Linux: 30 Teratas Paling Penting
  • Mx linux vs ubuntu
  • Can Linux mendapatkan virus? Menjelajahi kerentanan Linux…
  • Perintah Linux Dasar