Cara Membuat File Layanan di Linux

Cara Membuat File Layanan Di Linux



Sistem init systemd sekarang menjadi bagian dari hampir semua distribusi Linux. Sebagai administrator atau pengembang, Anda membuat layanan yang dapat dikelola oleh systemd. Misalnya, jika Anda ingin meluncurkan layanan saat boot atau ingin mengontrolnya secara manual, hal ini dapat dilakukan melalui file layanan khusus.

Dalam tutorial ini, saya akan membahas cara membuat file layanan systemd di Linux.







Apa itu File Layanan

Sebelum melangkah lebih jauh, mari kita pahami apa itu file layanan systemd dan cara pembuatannya di Linux.



File layanan systemd berisi instruksi yang ditetapkan untuk systemd untuk mengelola layanan. Biasanya berisi tiga bagian:



  • Satuan
  • Melayani
  • Install

Itu Satuan bagian berisi informasi dasar tentang layanan seperti deskripsi singkat, halaman dokumentasi, dan jalur menuju dependensi. Itu Install bagian ini opsional, tetapi biasanya mengatur pada status sistem apa layanan harus diaktifkan.





Itu Melayani bagian biasanya terjepit di antara bagian Unit dan Instal. Ini terutama berisi jenis layanan dan jalur executable yang pada dasarnya adalah perintah untuk dijalankan saat menjalankan layanan oleh systemd.

Berikut adalah struktur file layanan pada umumnya.



[ Satuan ]

Petunjuk1 = instruksi

Petunjuk2 = instruksi



[ Melayani ]

Petunjuk1 = instruksi

Petunjuk2 = instruksi



[ Install ]

Petunjuk1 = instruksi

Petunjuk2 = instruksi

Di sini, arahan adalah parameter yang mengambil masukannya masing-masing. Misalnya, Keterangan direktif mengambil string nama layanan. Dengan cara yang sama, Mulai Eksekutif memperhitungkan jalur lengkap dari executable.

File layanan khas ssh.service diberikan di bawah ini.

Cara Membuat File Layanan

Untuk membuat layanan systemd, perlu memahami arahan utama. Dalam panduan ini, saya akan membahas arahan penting yang dapat membantu Anda membuat file layanan yang berfungsi penuh.

Membuat file layanan melibatkan beberapa langkah, mari kita mulai dengan membuat file skrip.

Catatan: Untuk melanjutkan metode yang disebutkan di bawah ini, Anda harus memiliki hak akses root.

1. Membuat Naskah

Langkah awal melibatkan pembuatan kode yang akan dieksekusi ketika layanan memulai operasinya. Untuk tutorial ini, saya membuat skrip bash yang akan menyimpan uptime sistem Linux dan penggunaan memori.

Mari buat skrip di direktori saat ini dengan nama skrip saya.sh menggunakan editor nano.

sudo nano skrip saya.sh

Sekarang, tambahkan skrip yang diberikan di bawah ini ke dalam file dan simpan dengan menekan ctrl+x kemudian Dan .

#!/bin/bash

gema '>>Inilah Uptime Sistem Anda<<' > rumah / diri / file saya.txt

waktu aktif >> rumah / diri / file saya.txt

gema '>>Inilah Penggunaan Memori Sistem Anda<<' >> / rumah / diri / file saya.txt

bebas -M >> rumah / diri / file saya.txt

tidur 60

Skrip berisi beberapa string gema dan waktu aktif Dan bebas perintah.

Itu waktu aktif perintah di Linux digunakan untuk mencetak berapa lama suatu sistem telah berjalan, dan berapa banyak pengguna yang terhubung dengan rata-rata beban sistem selama 1, 5, dan 15 menit terakhir.

Itu bebas perintah digunakan untuk mencetak penggunaan memori sistem, sedangkan -M flag digunakan untuk mencetak output MB .

Untuk menyimpan informasi dalam file teks, kami menggunakan operator khusus yang disebut operator pengalihan. Itu > operator digunakan untuk memasukkan teks ke file teks yang disebutkan. Namun, jika file tersebut belum ada, maka akan dibuat. Selagi >> operator digunakan untuk menambahkan teks dalam file. Itu tidur perintah digunakan untuk mempertahankan aktivitas layanan selama durasi minimal satu menit.

Sekarang, buat skrip dapat dieksekusi dengan memberikan izin yang diperlukan.

sudo chmod +x skrip saya.sh

Skrip sekarang memiliki izin eksekusi, mari lanjutkan ke bagian berikutnya.

Catatan: Untuk membuat file layanan bebas kesalahan, gunakan jalur absolut file dalam skrip bash.

2. Membuat File .service

Selanjutnya, buat file layanan dengan .melayani perpanjangan. File layanan harus dibuat di /etc/systemd/system direktori. Pertama, navigasikan ke direktori ini menggunakan CD memerintah.

CD / dll. / sistemd / sistem

Anda dapat membuat file layanan di direktori mana pun, dan kemudian memindahkan file tersebut ke direktori ini.

Saya membuat file layanan dengan layanan saya.layanan nama.

sudo nano layanan saya.layanan

Sekarang, tambahkan baris berikut ke file.

[ Satuan ]

Keterangan =Layanan Saya

[ Melayani ]

Jenis =sederhana

Mulai Eksekutif = / tempat sampah / pesta / rumah / diri / skrip.sh

Mengulang kembali = saat gagal

[ Install ]

Dicari Oleh = multi-pengguna.target

Perhatikan itu [Unit], [Layanan], Dan [Install] adalah hal - hal sensitif . File layanan tidak akan berfungsi jika ada yang salah disebutkan, seperti [UNIT], atau [SERVICE].

Nama layanan ditentukan sebagai Layanan saya dalam Keterangan arahan dari [Satuan] bagian.

Itu Jenis dari layanan tersebut adalah sederhana dalam [Melayani] bagian, yang merupakan tipe default. garpu , satu tembakan , memberitahu , dbus , dan idle adalah beberapa tipe lainnya.

Jika Anda ingin membuat layanan khusus untuk pengguna, maka Pengguna arahan juga dapat digunakan dengan nama pengguna pengguna. Menggunakan arahan ini akan membuat izin pengguna layanan bergantung.

Selagi Mulai Eksekutif direktif berisi path lengkap dari executable. Dalam contoh di atas, file skrip skrip saya.sh disimpan di /rumah/sam/ direktori. Arahan ini sebenarnya mengatur apa yang harus dieksekusi ketika suatu layanan dipanggil oleh systemd. Jika jalur lengkap perintah tidak ditentukan, maka secara otomatis akan diselesaikan untuk memperbaiki jalur absolut seperti /usr/local/bin , /usr/bin/, Dan /tempat sampah . Tidak apa-apa menggunakan nama yang dapat dieksekusi selama nama tersebut berada dalam direktori perintah standar, namun sebutkan jalur absolutnya jika tidak. Perhatikan bahwa Beberapa perintah juga dapat digunakan yang dipisahkan dengan titik koma (;).

Itu [Install] bagian adalah opsional; namun, ini menunjukkan bagaimana layanan diaktifkan. Itu Dicari Oleh direktif mengambil file target run-level sebagai parameter. Berbagai file target menunjukkan run-level sistem yang berbeda seperti matikan , menyelamatkan , multi-pengguna , grafis , Dan menyalakan ulang .

Itu multi-pengguna.target berarti layanan akan diaktifkan ketika sistem dalam keadaan mengizinkan sesi non-grafis multi-pengguna.

3. Mengaktifkan Layanan

Untuk mengaktifkan layanan, pertama-tama muat ulang konfigurasi systemd menggunakan sistemctl kegunaan.

sudo systemctl daemon-reload

Selanjutnya aktifkan kembali layanan tersebut menggunakan sistemctl perintah dengan memungkinkan .

sudo sistemctl memungkinkan layanan saya.layanan

Untuk memverifikasi, periksa status layanan menggunakan status sistemctl memerintah.

Layanan berhasil dijalankan.

Sekarang, mari kita membaca file teksnya file saya.txt layanan yang dibuat di /rumah direktori.

Cara Membuat File Layanan Systemd untuk Pengguna Normal

Prosedur pembuatan file layanan untuk pengguna biasa mirip dengan metode pembuatan file layanan oleh administrator. Namun, direktori untuk menyimpan file layanan untuk pengguna normal berbeda. Pengguna normal harus menempatkan file layanan mereka di ~/.config/systemd/user . Direktori ini harus dibuat menggunakan mkdir memerintah.

mkdir ~ / .config / sistemd / pengguna

Untuk mengaktifkan layanan oleh pengguna biasa -pengguna perintah dimasukkan dengan sistemctl alih-alih sudo .

sistemctl --pengguna daemon-reload

sistemctl --pengguna memungkinkan NAMA-LAYANAN.layanan

sistemctl --pengguna status NAMA-LAYANAN.layanan

Itu -pengguna opsi digunakan untuk mengelola file layanan systemd pengguna.

Cara Menghapus File Layanan

Untuk menghapus file layanan, layanan harus dihentikan terlebih dahulu.

sudo systemctl menghentikan NAMA-LAYANAN.layanan

Periksa status menggunakan status sistemctl perintah untuk mengetahui apakah layanan dihentikan atau tidak. Kemudian hapus file layanan menggunakan rm memerintah.

sudo rm / dll. / sistemd / sistem / NAMA-LAYANAN.layanan

Sekarang, muat ulang sistemd konfigurasi.

sudo systemctl daemon-reload

Kesimpulan

Layanan systemd khusus menguntungkan dalam berbagai skenario. Dalam panduan ini, kita mempelajari cara membuat file layanan systemd khusus untuk administrator sistem dan bagaimana pengguna biasa dapat membuat file layanan. Selanjutnya kita juga melihat prosedur menghapus file layanan.