Layanan di Linux mulai segera setelah sistem Anda boot atau reboot. Inilah cara Anda dapat membuat layanan sistem mulai otomatis di PC Linux Anda.
systemd adalah manajer layanan untuk banyak distribusi Linux terkenal. Layanan adalah unit program yang biasanya berjalan di latar belakang. Layanan, secara alami, secara otomatis dimulai segera setelah sistem dinyalakan dan dapat berjalan tanpa pengawasan.
Jika Anda perlu membuat tugas atau program mulai otomatis yang dijalankan setiap kali Anda mem-boot atau mem-boot ulang sistem, Anda dapat mempertimbangkan untuk membuat layanan baru. Mari pelajari cara membuat layanan systemd kustom baru di Linux.
Langkah 1: Membuat File Layanan
Ada beberapa langkah yang diperlukan untuk membuat file layanan systemd baru. Yang pertama adalah membuat file unit untuk layanan tersebut. Sebelum Anda membuat file layanan, Anda harus memahami strukturnya.
Mari pelajari file layanan dengan menarik file layanan nyata yang berfungsi dari sistem Linux Anda. Di bawah ini, Anda dapat melihat file layanan untuk layanan daemon vmtools.
Layanan khusus ini mungkin tidak ada di sistem Anda kecuali Anda juga menjalankan Linux di VMware dengan alat VMware terpasang. Layanan yang dimaksud tidak penting karena semua layanan, atau lebih tepatnya, file unit layanan, memiliki struktur dasar yang sama dengan beberapa penyesuaian sesuai kebutuhan.
Semua file layanan systemd harus memiliki tiga bagian: [Melayani], [Satuan], Dan [Install], dan beberapa parameter di bawah setiap bagian. Inilah isi setiap bagian dan mengapa itu penting:
1. Satuan
Itu Satuan bagian menyertakan metadata penting seperti deskripsi dan dependensi layanan. Ini memiliki tiga parameter: Keterangan, Sebelum, Dan Setelah. Seperti yang disarankan sama, the Keterangan parameter menyediakan beberapa konteks layanan dan apa fungsinya.
Itu Sebelum Dan Setelah parameter menentukan kondisi yang harus dipenuhi agar layanan dapat dijalankan. Misalnya, jika Anda memulai layanan server web, Anda ingin memulai hanya setelah layanan jaringan online. Jadi, Anda akan menetapkan nilai dari Setelah parameter ke layanan jaringan.
2. Melayani
Itu Melayani bagian berisi dua parameter wajib: ExecStart, Jenis, dan beberapa parameter opsional lainnya seperti ExecReload, dan banyak lagi.
ExecStart mendefinisikan perintah yang akan dieksekusi ketika layanan dimulai sedangkan Jenis parameter menentukan jenis proses untuk bertelur.
3. Install
Bagian ini dan datanya dipanggil setiap kali Anda mengaktifkan atau menonaktifkan layanan perintah systemctl.
Ini memiliki beberapa parameter. Salah satu yang umum dan perlu adalah Dicari Oleh. Itu Dicari Oleh parameter menentukan unit target yang harus dimulai setiap kali layanan diaktifkan. Nilai standarnya adalah multi-pengguna.target.
Parameter yang disebutkan di sini bukan satu-satunya parameter yang dapat Anda atur dalam file unit. Anda bisa mendapatkan daftar lengkap parameter dari dokumentasi resmi systemd.exec atau dengan mengetik man systemd.exec di terminal.
File unit layanan systemd selalu diakhiri dengan ".melayani" ekstensi dan harus disimpan di /etc/systemd/system/ direktori. Buat file layanan menggunakan perintah sentuh dengan hak istimewa yang lebih tinggi dengan mengawalinya dengan the sudo memerintah:
sudo sentuh /etc/systemd/system/.melayani
Sekarang setelah Anda membuat file layanan, mari kita mengisinya dengan sintaks yang diperlukan untuk membuat layanan valid dan berfungsi.
Langkah 2: Mengonfigurasi File Layanan
Untuk demonstrasi, Anda akan membuat contoh layanan yang dijalankan Nmap untuk memindai port pada mesin Anda dan simpan hasilnya dalam file setiap tiga puluh detik. Untuk mencapai tugas ini, berikut cara menyusun file unit layanan:
[Satuan]
Description=Demonstrasi layanan nmap khusus.
Setelah=jaringan.target[Melayani]
Jenis = sederhana
Pengguna=root
ExecStart=/usr/bin/nmap -sS -O -oN /home//results.txt localhost
Mulai ulang = selalu
RestartSec=30
[Install]
WantedBy=multi-pengguna.target
Meskipun parameter yang disebutkan di sini telah dijelaskan sebelumnya, mari kita bahas bagaimana pengaruhnya terhadap layanan yang baru kami buat dan jelajahi juga yang baru diperkenalkan di unit ini: Mengulang kembali, RestartSec, Dan Pengguna.
Inilah arti parameter di setiap bagian:
- Keterangan: Teks yang dapat dibaca manusia untuk mendeskripsikan fungsionalitas layanan.
- Setelah=jaringan.target: Mendikte ke systemd yang bergantung pada layanan ini jaringan.target dan seharusnya hanya dimulai setelah jaringan.target layanan telah dimulai. Perhatikan bahwa Setelah tidak digunakan untuk membangun hubungan ketergantungan langsung, itu hanya bertindak sebagai pemicu.
- Jenis = sederhana: Ada beberapa jenis layanan. Namun, layanan dalam demonstrasi ini adalah proses reguler dan karenanya kami menyatakan demikian. Anda dapat menemukan semua nilai berbeda untuk ini di halaman dokumentasi resmi yang ditautkan sebelumnya.
- Mulai ulang = selalu: Ini berarti bahwa setiap kali layanan keluar, itu harus selalu dimulai ulang.
- RestartSec=30: Ini menetapkan interval antara setiap permulaan layanan menjadi 30 detik.
- Pengguna=akar: Ini mendefinisikan bahwa layanan akan dijalankan sebagai pengguna root. Dalam hal ini, ini adalah langkah yang harus dilakukan karena Nmap tidak akan dapat berjalan tanpa hak akses root.
- ExecStart: Direktif ini memegang jalur absolut ke program yang akan dieksekusi bersama dengan semua flag atau argumen yang diperlukan agar program berfungsi dengan baik.
- WantedBy=multi-pengguna.target: Parameter ini dalam file layanan menentukan target mana yang harus disertakan atau "menginginkan" layanan tersebut. Saat layanan disertakan dalam target, ini berarti layanan harus dimulai saat sistem mencapai target tersebut selama proses booting. Dalam hal ini, layanan harus dimulai saat sistem memasuki mode multi-pengguna. Mode multi-pengguna adalah keadaan di mana sistem sepenuhnya di-boot dan memungkinkan banyak pengguna untuk masuk dan menggunakan sistem.
Langkah 3: Mengaktifkan dan Memulai Layanan
Sekarang setelah Anda membuat file unit, satu-satunya langkah yang tersisa untuk mengaktifkan layanan Anda adalah mengaktifkan dan menjalankannya. Anda dapat mengaktifkan dan memulai layanan Anda menggunakan perintah systemctl.
Berikut cara menggunakan systemctl untuk mengaktifkan, memulai, dan memeriksa status layanan Anda:
sudo systemctl aktifkan .melayani
sudo systemctl mulai .melayani
sudo systemctl status .melayani
Sekarang, layanan kustom Anda sudah aktif dan berjalan! Dalam hal ini, Anda akan melihat pemindaian Nmap berjalan setiap tiga puluh detik dan hasilnya disimpan di hasil.txt file di direktori home.
Menyiapkan Layanan systemd di Linux Itu Mudah!
Meskipun menyiapkan layanan khusus dari awal mungkin tampak menakutkan pada awalnya, ini adalah cara yang cukup mudah untuk diatur up proses yang dieksekusi sendiri dan tanpa pengawasan untuk melakukan tugas berulang untuk Anda dan meningkatkan Anda produktifitas.
Dalam layanan demo, kami baru saja menggores permukaan tentang bagaimana Anda dapat mengonfigurasi dan menyiapkan layanan. Untuk mempelajari semua tentang bagaimana Anda dapat menyesuaikan layanan Anda, Anda disarankan untuk membaca dokumentasi resmi yang ditautkan dalam catatan.
Jika menyiapkan dan memelihara layanan terasa seperti tugas yang terlalu berat bagi Anda, pertimbangkan untuk mencari cara alternatif untuk mengotomatiskan tugas berulang di Linux.