Panduan Linux


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:

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:

  1. #!/bin/bash itu disebut shebang, biar sistem tau kalo script ini jalan pake bash.
  2. cek_layanan() itu fungsi yang kita bikin buat ngecek status layanan pake systemctl status <nama_layanan>. Trus, kita pake grep -i "active" buat ngambil baris yang ada status aktifnya.
  3. nama_layanan="apache2" itu variabel buat nampung nama layanan yang mau di cek. Bisa diganti-ganti sesuai keperluan.
  4. status=$(cek_layanan "$nama_layanan") itu panggil fungsi cek_layanan trus hasilnya disimpen di variabel status.
  5. 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?

#Bash Script #Linux