Menampilkan Informasi System Menggunakan Shell Script

Seorang sysadmin dan juga praktisi Linux, Gabriel Cánepa, menyebutkan dalam sebuah tulisannya bahwa:

“One of the distinguishing characteristics of an effective system administrator/engineer is laziness”

Terdengar sedikit kontradiksi, namun bila diperhatikan akan sangat rasional bila kita melihatnya dari perspektif sebagai berikut:

Bila seorang sysadmin menghabiskan banyak waktunya untuk menyelesaikan masalah-masalah atau melakukan pekerjaan-pekerjaan yang berulang, kita dapat mengambil kesimpulan bahwa sysadmin ini tidak melakukan pekerjaan nya dengan baik. Dengan kata lain, seorang sysadmin yang efektif harus membangun perencanaan yang baik, bagaimana dia melakukan pekerjaan-pekerjaan berulang tersebut dengan sesedikit mungkin tindakan yang harus dilakukannya sendiri, seperti misalnya membuat sebuah script sebagai alat bantunya dalam melakukan pekerjaan tersebut. Dengan demikian, ketika seorang sysadmin terlihat tidak melakukan pekerjaan apapun (asumsi: malas), sebenarnya pekerjaan dan tanggung jawabnya sudah diambil alih oleh alat bantu yang dibuatnya sendiri baik berupa script maupun tools-tools lain.

Baca Juga:  Belajar Linux: Menggunakan Terminal/Command Line Part. 11

Kita ambil contoh ketika seorang syadmin harus mengecek status dari sebuah server yang dikelolanya, yang harus dilakukannya setiap hari, sebuah shell script sederhana akan mempermudah pekerjaan tersebut, apalagi bila dikembangkan dengan sebuah dashboard berbasis web dan notifikasi dengan telegram bot untuk alert-alert 🚨 penting.

Untuk kali ini, kita akan membahas shell script nya saja. Kapan-kapan kita lanjutkan dengan Web-based Dashboard dan Telegram Bot.

Pertama-tama kita akan membuat sebuah file dengan menggunakan editor favorit anda (saya menggunakan nano). Saya beri nama file tersebut systemcheck.sh,  dengan isi sebagai berikut (Script ini ditulis oleh Gabriel Cánepa):

#!/bin/bash
# Sample script originally written by: Gabriel Cánepa
# This script will return the following set of system information:
# -Hostname information:
echo -e "\e[31;43m***** HOSTNAME INFORMATION *****\e[0m"
hostnamectl
echo ""
# -File system disk space usage:
echo -e "\e[31;43m***** FILE SYSTEM DISK SPACE USAGE *****\e[0m"
df -h
echo ""
# -Free and used memory in the system:
echo -e "\e[31;43m ***** FREE AND USED MEMORY *****\e[0m"
free
echo ""
# -System uptime and load:
echo -e "\e[31;43m***** SYSTEM UPTIME AND LOAD *****\e[0m"
uptime
echo ""
# -Logged-in users:
echo -e "\e[31;43m***** CURRENTLY LOGGED-IN USERS *****\e[0m"
who
echo ""
# -Top 5 processes as far as memory usage is concerned
echo -e "\e[31;43m***** TOP 5 MEMORY-CONSUMING PROCESSES *****\e[0m"
ps -eo %mem,%cpu,comm --sort=-%mem | head -n 6
echo ""
echo -e "\e[1;32mDone.\e[0m"

Kemudian simpan file tersebut dan sesuaikan permission nya sehingga menjadi sebuah file yang executable dan jalankan:

Perhatikan output header nya yang warna-warni 🙂

Warna pada header tersebut merupakan output dari command berikut:

echo -e "\e[COLOR1;COLOR2m<GANTI TULISAN INI>\e[0m"

Dimana COLOR1 dan COLOR2 merupakan warna background dan foreground dari teks <GANTI TULISAN INI> (silahkan mengganti tulisannya sesuai dengan kebutuhan kita). Untuk informasi lebih lanjut terkait kustomisasi bash/prompt ini, silahkan kunjungi https://wiki.archlinux.org/index.php/Bash/Prompt_customization.

Semoga bermanfaat.

About This Author

IT Engineer, Red Hat Certified System Administrator & Technician (RHCT & RHCSA), Certified Data Center Facilities Operation Manager (CDFOM), Certified Ethical Hacking (CEH), expert in Computer Networking in multi operating system and hardware. Specialties: Linux, Free BSD, *Nix, MS Windows, Data Center, Cisco & Computer Networking

Post A Reply