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


Script lengkap dapat dicek di drive saya:


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



Comments

Post a Comment

Popular posts from this blog

Belajar Zimbra Mail Server

Mendalami tentang Linux (Sejarah dan Pelopor)