Update Server Otomatis dengan Cron Job dan Telegram Bot
Pada hari ini, saya ingin mencoba menggunakan telegram bot, seperti yang kita semua ketahui yaitu dengan menggunakan bot father untuk pembuatan bot nya. Sekilas tentang bot father, saya pernah menggunakan itu pada mata kuliah IOT saat berkuliah dahulu. Saya membangun proyek tentang pendeteksi objek otomatis menggunakan kamera, jika berhasil mendeteksi sesuatu, maka akan muncul notifikasi nama objek di telegram.
Namun pada hari ini, kita akan mengintegrasikan bot telegram dengan server. Saya hanya akan membuat simulasi sederhana memunculkan notifikasi di telegram saat ada upgrade sistem, sehingga tidak perlu memeriksa ke server secara langsung apakah update berhasil atau tidak.
Tutorial ini menggunakan server Ubuntu 24.04 LTS.
1. Buat Bot Telegram
Gunakan Telegram dan buka bot BotFather.
Langkah:
Buka Telegram dan Cari @BotFather
Jalankan:
/start
/newbot
Ikuti instruksi sampai mendapatkan BOT TOKEN
2. Ambil Chat ID
Kirim pesan apapun ke bot yang sudah dibuat.
Lalu buka di browser:
https://api.telegram.org/botBOT_TOKEN_ANDA/getUpdates
Contoh:
https://api.telegram.org/bot123456789:AAExampleTokenExampleToken/getUpdates
Cari bagian:
"chat":{"id":123456789}
Angka tersebut adalah CHAT_ID.
3. Buat Script Auto Update dan mengirimkan Notifikasi ke Telegram
Buat file script:
/usr/local/bin/server-auto-update.sh
4. Berikan Permission
Agar script bisa dijalankan:
chmod +x /usr/local/bin/server-auto-update.sh
5. Test Script Manual
Jalankan:
# /usr/local/bin/server-auto-update.sh
Jika berhasil, Anda akan menerima notifikasi seperti:
6. Buat Cron Job
Edit crontab:
# crontab -e
Tambahkan cron job berikut:
0 2 * * * /usr/local/bin/server-auto-update.sh
Artinya:
Server akan diupdate otomatis setiap jam 02:00 pagi. Jam ini dipilih karena traffic server rendah.
7. Hasil Notifikasi Telegram
Setelah cron berjalan, Telegram akan mengirim notifikasi seperti:
Jika tidak ada update
Jika update berhasil
Catatan: Script tersebut memeriksa adanya kernel update, script akan mereboot server secara otomatis jika dilakukan kernel update.
8. Notifikasi Kernel Update
Jika kernel update
Server Update Success
Host: server
Packages Updated: 4
Reboot Required: Yes
Server will reboot due to kernel update
Jika gagal
Server Update FAILED
Host: server
Check log /var/log/server-auto-update.log
Baru sadar belum ganti waktu servernya yang masih UTC-_-
ReplyDelete