Script Cek Status Layanan (service) di Linux: Pake Ini Buat Ngecek Status Layanan Di Linux
Halo, guys! Pernah ngalamin layanan di Linux tiba-tiba down atau gagal running? Kayak nih, entah itu web server, database server, atau bahkan layanan custom yang kita sering banget pake. Nah, gue mau share nih script buat ngecek status layanan di Linux. Jadi, kita bisa cepet-cepet tau kalo ada masalah. Nih, gue kasih scriptnya, beserta penjelasan cara pake dan cara ngejalaninnya biar lo bisa langsung aplikasikan di sistem lo!
Alat dan Bahan
Sebelum mulai, pastikan lo udah punya yang berikut:
- Sistem operasi Linux (apa aja, kayak Ubuntu, CentOS, dll.)
- Akses ke terminal (biasanya pake
Ctrl + Alt + T
) - Pengetahuan dasar tentang layanan (services) di Linux
Script Sederhana untuk Cek Status Layanan
Yang pertama, gue punya script yang simpel banget buat ngecek status layanan pake systemctl
. Nah, biar ga pusing mari langsung practice!
Step 1: Buka terminal terus bikin script baru. Lo bisa pake teks editor kayak nano
, vim
, atau gedit
. Kali ini gue pake nano
aja.
nano cek_layanan.sh
Step 2: Masukin script ini ke dalam file cek_layanan.sh
:
#!/bin/bash
# Cek status layanan
cek_layanan() {
systemctl status "$1" | grep -i "active"
}
# Nama layanan yang mau di cek
nama_layanan="apache2"
# Memanggil fungsi cek_layanan
status=$(cek_layanan "$nama_layanan")
# Menampilkan status
echo "Status $nama_layanan: $status"
Step 3: Save file (Ctrl + X
terus Y
di nano
)
Step 4: Kasih permission buat execute file scriptnya:
chmod +x cek_layanan.sh
Step 5: Jalanin script
./cek_layanan.sh
Outputnya akan kayak gini:
Status apache2: Active: active (running) since Tue 2021-08-24 10:11:23 UTC; 15min ago
Nah, itu tadi contoh buat apache2
. Kalo lo mau ngecek layanan lain, ganti aja nama_layanan
di scriptnya. Misal mau ngecek status nginx
atau mysql
, tinggal ganti apache2
jadi nginx
atau mysql
.
Penjelasan Script
Mungkin ada yang bingung sama bagian-bagian di script tadi, gue jelasin dikit ya:
#!/bin/bash
itu disebut shebang, biar sistem tau kalo script ini jalan pake bash.cek_layanan()
itu fungsi yang kita bikin buat ngecek status layanan pakesystemctl status <nama_layanan>
. Trus, kita pakegrep -i "active"
buat ngambil baris yang ada status aktifnya.nama_layanan="apache2"
itu variabel buat nampung nama layanan yang mau di cek. Bisa diganti-ganti sesuai keperluan.status=$(cek_layanan "$nama_layanan")
itu panggil fungsicek_layanan
trus hasilnya disimpen di variabelstatus
.echo "Status $nama_layanan: $status"
nampilin hasilnya di terminal.
Bikin Lebih Interaktif dengan Input User
Nah, script di atas kan masih kurang dinamis. Kalo mau ngecek layanan lain, harus ngedit lagi scriptnya. Biar lebih interaktif, kita bisa minta input dari user. Gini nih caranya:
Step 1: Bikin file baru:
nano cek_layanan_interaktif.sh
Step 2: Masukin script ini:
#!/bin/bash
# Fungsi untuk ngecek status layanan
cek_layanan() {
systemctl status "$1" | grep -i "active"
}
# Minta input nama layanan
echo "Masukkan nama layanan yang ingin di cek:"
read nama_layanan
# Panggil fungsi cek_layanan
status=$(cek_layanan "$nama_layanan")
# Tampilkan hasil
echo "Status $nama_layanan: $status"
Step 3: Save file (Ctrl + X
terus Y
)
Step 4: Kasih permission:
chmod +x cek_layanan_interaktif.sh
Step 5: Jalanin script:
./cek_layanan_interaktif.sh
Ntar, lo akan diminta masukin nama layanan yang mau di cek, misal nginx
atau mysql
.
Script Otomatis Cek Banyak Layanan
Kalo lo punya banyak layanan yang harus di cek, bisa juga nih bikin script buat ngecek semuanya sekaligus.
Step 1: Bikin file baru:
nano cek_banyak_layanan.sh
Step 2: Masukin script ini:
#!/bin/bash
# Daftar layanan yang mau di cek
daftar_layanan=("apache2" "nginx" "mysql" "postgresql")
# Fungsi untuk ngecek status layanan
cek_layanan() {
systemctl status "$1" | grep -i "active"
}
# Looping untuk ngecek setiap layanan
for layanan in "${daftar_layanan[@]}"
do
status=$(cek_layanan "$layanan")
echo "Status $layanan: $status"
done
Step 3: Save file (Ctrl + X
terus Y
)
Step 4: Kasih permission:
chmod +x cek_banyak_layanan.sh
Step 5: Jalanin script:
./cek_banyak_layanan.sh
Script ini bakal ngecek semua layanan yang ada di daftar_layanan
trus nampilin statusnya satu per satu. Keren, kan?