Panduan Lengkap: Cara Membuat Perintah udplog untuk Melihat User Aktif di VPS Linux
Halo, teman-teman sysadmin! Pernahkah Anda merasa kesulitan untuk memantau user mana saja yang sedang aktif terhubung ke layanan UDP tunneling Anda di VPS? Anda mungkin sudah bisa melihatnya lewat log systemctl status, tapi tentu akan jauh lebih mudah jika ada perintah khusus yang menampilkannya dalam bentuk tabel yang rapi.
Pada tutorial kali ini, kita akan membuat sebuah perintah kustom bernama udplog. Dengan mengetik udplog di terminal, Anda bisa langsung melihat daftar user yang sedang online beserta alamat IP mereka. Cara ini aman karena tidak akan merusak atau mengubah skrip asli Anda sama sekali.
Mari kita mulai dari awal!
-
Langkah 1: Buat Folder untuk Menyimpan Skrip
Pertama, kita perlu membuat sebuah folder khusus untuk menyimpan skrip baru kita agar terorganisir. Buka terminal VPS Anda dan jalankan perintah berikut:
sudo mkdir -p /opt/udp-proxy/binPenjelasan: Perintah ini membuat folder
/opt/udp-proxydan sub-folderbindi dalamnya. Folder ini akan menjadi tempat kita menyimpan file skrip. -
Langkah 2: Buat File Skrip Panel
Sekarang, kita akan membuat file kosong untuk skrip panel kita menggunakan editor teks
nano.sudo nano /opt/udp-proxy/bin/show_users.shPenjelasan: Perintah ini akan membuka editor teks
nanodan membuat file baru bernamashow_users.shdi dalam folder yang baru kita buat. -
Langkah 3: Tulis Kode ke Dalam Skrip
Salin seluruh kode di bawah ini, lalu tempel ke dalam jendela
nanoyang terbuka.#!/bin/bash echo "════════════════════════════════════════════════" echo " [ USER LOGIN UDP ] " echo "════════════════════════════════════════════════" echo "┌──────────────────────────────────────────────┐" # Gunakan awk yang lebih kuat untuk mencari pola [src:...] dan [user:...] # Ini akan menemukan IP dan username di mana saja mereka berada di baris log if LOG_OUTPUT=$(sudo journalctl -u udp-custom.service --since "5 minutes ago" --no-pager | grep "Client connected" | awk ' /\[src:/ && /\[user:/ { # Cari dan ambil IP Address match($0, /\[src:([^]]+)\]/, m) ip = m[1] # Cari dan ambil Username match($0, /\[user:([^]]+)\]/, u) user = u[1] # Cetak username dan IP jika keduanya ditemukan if (ip && user) { printf "%-15s %-20s\n", user, ip } }' | sort -u); then if [ -n "$LOG_OUTPUT" ]; then printf " %-15s %-15s %-20s\n" "Status" "Username" "IP Address" echo "$LOG_OUTPUT" | while read -r user ip; do printf " %-15s %-15s %-20s\n" "Aktif" "$user" "$ip" done else echo " Tidak ada user yang terhubung dalam 5 menit terakhir." fi else echo " Gagal mengambil log. Pastikan Anda menjalankan dengan sudo." fi echo "└──────────────────────────────────────────────┘"Penjelasan: Kode ini akan membaca log sistem, memfilternya untuk menemukan pesan "Client connected" dalam 5 menit terakhir, lalu menampilkannya dalam format tabel yang rapi.
-
Langkah 4: Simpan File Skrip
Setelah Anda menempelkan kode di atas, simpan filenya dengan cara:
- Tekan Ctrl + X di keyboard.
- Akan muncul pertanyaan di bagian bawah, ketik Y lalu tekan Enter.
-
Langkah 5: Buat Skrip Bisa Dieksekusi
Secara default, file yang baru dibuat belum bisa dijalankan. Kita perlu memberinya izin eksekusi dengan perintah:
sudo chmod +x /opt/udp-proxy/bin/show_users.shPenjelasan: Perintah
chmod +xmemberikan izin "eksekusi" pada file, sehingga bisa dijalankan seperti sebuah program. -
Langkah 6: Buat Perintah Pintasan
udplogAgar kita bisa memanggil skrip tersebut hanya dengan mengetik
udplog, kita akan membuat "jalan pintas" atau symbolic link.sudo ln -s /opt/udp-proxy/bin/show_users.sh /usr/local/bin/udplogPenjelasan: Perintah
ln -smembuat symbolic link (jalan pintas) yang bernamaudplogdi folder/usr/local/bin. Folder ini sudah ada di "path" perintah Linux, jadi Anda bisa memanggilnya dari mana saja. -
Langkah 7: Uji Perintah Baru Anda
Ini adalah langkah terakhir untuk memastikan semuanya berjalan dengan benar. Coba jalankan perintah baru Anda:
udplogJika semua langkah diikuti dengan benar, Anda akan langsung melihat output panel user yang sudah kita buat, mirip seperti ini:
════════════════════════════════════════════════ [ USER LOGIN UDP ] ════════════════════════════════════════════════ ┌──────────────────────────────────────────────┐ Status Username IP Address Aktif suhartono 140.213.5.69 Aktif tiotio 140.213.5.225 Aktif yunidodo 112.215.170.75 └──────────────────────────────────────────────┘
Kesimpulan
Selamat! Sekarang Anda memiliki perintah udplog yang bisa dipanggil kapan saja untuk melihat daftar user yang sedang aktif terhubung ke VPS Anda. Ini adalah cara yang aman, efektif, dan rapi untuk memantau aktivitas user tanpa harus mengotak-atik skrip utama Anda. Selamat mencoba!




