Belajar n8n: Membuat Sistem Backup & Monitoring Mandiri

Belajar n8n: Membuat Sistem Backup & Monitoring Mandiri
Photo by BoliviaInteligente / Unsplash

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.

KomponenPeran dalam Proyek
n8nPlatform orkestrasi yang mengatur logika dan alur kerja (Workflow).
Bash Script"The Worker" yang mengeksekusi perintah teknis di level OS.
Telegram BotAntarmuka 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 /backup atau /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 stats tetap 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 /backup di 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.