Belajar n8n: Membuat Sistem Backup & Monitoring Mandiri
Setelah berhasil melakukan set up VPS untuk server aplikasi berbasis PHP CodeIgniter dan MySQL, muncul satu pertanyaan krusial: "Bagaimana cara menjamin keamanan data dan memantau kesehatan server tanpa harus bolak-balik login via SSH?"
Banyak orang cukup menggunakan cron job klasik. Namun, bagi saya, itu tidak cukup. Saya butuh ketenangan pikiran yang hanya bisa didapat jika saya melihat bukti keberhasilan backup di layar HP saya secara real-time.
Platform otomatisasi n8n sedang rame, kasus ini saya jadikan sebagai proyek belajar mengenai n8n.
Masalah: Blind Spot pada Manajemen Server
Mengelola VPS bukan hanya soal membuat aplikasi "jalan", tapi soal visibilitas. Selama ini, administrasi server seringkali terasa seperti kotak hitam:
- Backup yang "Ghaib": Kadang cron job gagal karena disk penuh atau izin akses, tapi kita baru menyadarinya saat data sudah hilang.
- Hambatan Akses: Mengecek penggunaan RAM atau status container lewat HP sangat menyulitkan jika harus mengetik perintah terminal di layar kecil.
Saya membutuhkan solusi yang bisa memberikan notifikasi konfirmasi dan kendali on-demand langsung dari Telegram.
Mengenal Stack: n8n dan Telegram
Solusi ini tidak membangun ulang roda, melainkan menghubungkan titik-titik teknologi yang sudah ada menjadi satu kesatuan yang cerdas.
| Komponen | Peran dalam Proyek |
| n8n | Platform orkestrasi yang mengatur logika dan alur kerja (Workflow). |
| Bash Script | "The Worker" yang mengeksekusi perintah teknis di level OS. |
| Telegram Bot | Antarmuka pengguna (UI) untuk perintah dan pusat notifikasi. |
Implementasi: Menghubungkan Titik-titik Terpisah
Proses pembangunan sistem ini dibagi menjadi dua bagian utama:
1. Menyiapkan Skrip Eksekusi (The Worker)
Saya memiliki skrip Bash yang bertugas melakukan backup dengan melakukan dump database, kompresi folder uploads, serta pencadangan konfigurasi Dockerfile. Kuncinya adalah menambahkan Output JSON: skrip diatur untuk mengeluarkan data dalam format JSON agar n8n bisa mengolah hasilnya dengan mudah.
2. n8n Sebagai Jembatan (The Bridge)
Di sini n8n berperan sebagai jembatan yang menghubungkan worker dengan telegram. Saya mengonfigurasi dua pemicu (trigger):
- Time-based: Eksekusi otomatis setiap 7 hari (menggantikan cron).
- Event-based: Menggunakan perintah dari Telegram Bot seperti
/backupatau/status.
Alur Kerja: Kirim perintah → Eksekusi skrip via SSH → Olah hasil JSON → Kirim laporan ke Telegram.
Mengolah Data Mentah
Mengubah output terminal yang berantakan menjadi pesan chat yang terbaca adalah keharusan, n8n punya node "code" (js dan python) yang bisa melakukannya:
- Pembersihan Data: memisahkan output log teknis dari data status utama.
- Human-Readable Format: Mengubah timestamp mesin menjadi format waktu lokal Indonesia.
- Visualisasi Tabel: Memastikan tabel penggunaan resource dari
podman statstetap rapi di Telegram dengan memanfaatkan fitur format markdown.
Hasil: Kendali Penuh dalam Genggaman
Setelah integrasi selesai, perbedaan performa manajemen server sangat terasa dibandingkan metode manual:
- Kepastian Backup: Setiap proses kini memberikan laporan sukses/gagal yang detail. Tidak ada lagi "tebak-tebakan".
- Healthcheck Terintegrasi: Lewat perintah
/status, saya mendapatkan laporan kesehatan container secara instan. - Fleksibilitas Tinggi: Sebelum rilis fitur baru, saya cukup mengetik
/backupdi Telegram untuk membuat restore point seketika.
Kesimpulan & Risiko
Menggunakan modifikasi otomatisasi seperti ini memang membutuhkan waktu set up ekstra. Namun, mengingat ini adalah proyek perdana belajar n8n, hasil dan efisiensi yang saya dapat sangat sepadan.
Pelajaran Penting: Tidak perlu mengganti semua skrip lama. Kita hanya perlu memberikan "otak" (logika) dan "mulut" (notifikasi) kepada skrip tersebut melalui n8n. Hasilnya? Manajemen infrastruktur terasa jauh lebih sederhana, terukur, dan bisa dikelola dari mana saja.