Cara Menulis Layanan SystemD Sederhana

- 3137
- 110
- Ricardo Gottlieb
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
- « Distro linux terbaik untuk pemula
- 10 distribusi Linux ringan terbaik untuk komputer yang lebih tua »