Backup Otomatis Mikrotik melalui FTP
Mikrotik RouterOS merupakan sistem operasi router yang canggih dan fleksibel. Salah satu fitur penting yang sering diabaikan oleh banyak administrator jaringan adalah mekanisme backup secara otomatis. Dengan adanya backup otomatis, konfigurasi router dapat disimpan ke server remote sehingga bila terjadi kegagalan sistem, data konfigurasi dapat dipulihkan dengan cepat. Salah satu metode paling praktis dan murah adalah menggunakan FTP (File Transfer Protocol) sebagai media penyimpanan backup.
Susunan Materi
- Pengantar Mikrotik dan Kepentingan Backup
- Panduan Singkat tentang FTP
- Membuat Akun FTP di Server
- Menyiapkan Skrip Backup di Mikrotik
- Mengatur Jadwal Otomatis (Scheduler)
- Pengujian Backup dan Verifikasi
- Perbaikan Masalah Umum
- Best Practices dan Tips Keamanan
- Kesimpulan dan Rekomendasi Lanjutan
Pengenalan Mikrotik dan Kepentingan Backup
Mikrotik RouterOS memungkinkan pengguna mengatur semua fungsi jaringan — dari firewall, VPN, hingga routing OSPF — hanya melalui baris perintah, Winbox GUI, atau API. Sistem ini beroperasi dengan file konfigurasi .rsc yang menyajikan semua perintah yang telah dijalankan. Setiap kali Anda menambahkan atau mengubah konfigurasi, file .rsc bersifat kumulatif, sehingga semua perubahan tercatat secara terstruktur.
Tanpa backup, kehilangan konfigurasi bisa disebabkan oleh:
- Perubahan manual yang salah.
- Sistem gagal secara fisik (kerusakan hard drive, power failure).
- Kode firmware yang rusak akibat update.
- Serangan ransomware yang memodifikasi file konfigurasi.
Backup rutin menyediakan jaringan Anda “point-in-time recovery” – memulihkan sistem ke kondisi instansi sebelum kerusakan terjadi. Proses ini dapat dianggap sebagai borongan “Business Continuity Plan” yang meminimalkan downtime.
Siguruh Panduan tentang FTP
FTP adalah protokol yang paling umum dipakai untuk mentransfer berkas antara client dan server. Panjang sejarahnya menandakan kemudahan, kestabilan, dan dukungan lintas platform.
Keuntungan FTP dalam konteks backup Mikrotik:
- Dapat diintegrasikan langsung ke dalam scheduler Windows, Mac, atau Linux tanpa memerlukan instalasi extra.
- Juga didukung oleh RouterOS melalui modul FTP client.
- Protokol ini mudah diatur di firewall router, baik secara inbound maupun outbound.
- Pengguna dapat menjadwalkan transfer berulang dan mengingat nama berkas berdasarkan tanggal / jam.
Membuat Akun FTP di Server
Berikut contoh langkah-langkah mengatur FTP server di Linux (contoh: vsftpd). Pada Windows dapat menggunakan FileZilla Server atau IIS FTP Service sementara pada macOS dapat menggunakan sftp default.
- Instal vsftpd:
sudo apt update sudo apt install vsftpd - Backup file konfigurasi asli:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original - Edit file konfigurasi:
sudo nano /etc/vsftpd.conf - Ubah atau tambah baris berikut:
# Izinkan login anonim anonymous_enable=NO # Aktifkan lokal user login local_enable=YES write_enable=YES # Izinkan transfer ke direktori home local_umask=022 # Mode passive pasv_enable=YES pasv_min_port=30000 pasv_max_port=31000 - Restart service:
sudo systemctl restart vsftpd - Tambahkan user khusus untuk Mikrotik, misalnya nama pengguna
mikrotikuser.sudo adduser mikrotikuser # Beri password, atur home dir ke /var/ftp/mikrotik sudo mkdir -p /var/ftp/mikrotik sudo chown mikrotikuser:mikrotikuser /var/ftp/mikrotik - Pastikan port 21 (default FTP) dan port 30000-31000 (passive mode) terbuka di firewall server:
sudo ufw allow 21/tcp sudo ufw allow 30000:31000/tcp
Di sisi Mikrotik, Anda memerlukan informasi berikut:
- IP server FTP (misalnya 192.168.1.10)
- Port FTP (default 21)
- Username & password
- Directori tujuan (misalnya
/mikrotik)
Menyiapkan Skrip Backup di Mikrotik
Mikrotik RouterOS menyediakan perintah /system backup save yang mengexport konfigurasi ke file berformat .backup. File ini bisa langsung dikirim ke FTP, karena RouterOS punya modul FTP client yang terintegrasi. Langkah pertama adalah membuat skrip yang menghasilkan file, lalu mengirimkannya ke server FTP.
Contoh Skrip Backup:/system backup save name=backup_temp :local fileName "backup_$(/system clock get time)&$(/system clock get date).backup" /file move backup_temp dst-path=$fileName /file print :put "Backup selesai: $fileName" /tool fetch address=192.168.1.10 port=21 user=mikrotikuser password=secret \ ./file=$fileName put=yes /file remove $fileName
Penjelasan tiap perintah:
/system backup save name=backup_temp– Membuat filebackup_temp.backupsementara.:local fileName ...– Membuat nama berkas dengan format timestamp. Mekanik$(new-id)tidak tersedia, jadi kita satukan date+time./file move– Mengganti nama file sementara ke nama berkas timestamp./tool fetch– Mengirim berkas menggunakan protokol FTP.put=yesberarti file akan dikirim (upload)./file remove– Menghapus file backup lokal, menjaga ruang disk.
Anda juga dapat menambahkan variabel untuk menciptakan struktur direktori berdasarkan bulanan dan tahunan:
Variabel direktori berbasis tahun dan bulan::local year [/system clock get date][/pick 0 4] :local month [/system clock get date][/pick 5 8] :local dir "<year-><month><ftp-folder>" /tool fetch address=192.168.1.10 user=mikrotikuser password=secret \ /file=$fileName put=$dir
Jika Anda menginginkan nominal backup terenkripsi secara otomatis, Anda bisa menambahkan perintah /file encrypt sebelum upload. Namun, RouterOS tidak menyediakan enkripsi standar, jadi opsi terbaik adalah mengupload file ke server FTP yang dijaga keamanannya (file encryption aside).
Menyesuaikan Skrip untuk Batch Siklus
Jika jaringan memiliki lebih dari satu RouterOS hub atau Anda ingin mem-backup tiap device sekaligus, Anda dapat membuat skrip multi-job. Disana, /system scheduler akan men-trigger skrip di setiap router dengan parameter host & port.
Menjadwalkan Backup Otomatis: Scheduler
Mikrotik memiliki modul /system scheduler yang memungkinkan perintah terlaksanakan pada interval tertentu. Selanjutnya, akan dilakukan contoh menambahkan job setiap 6 jam.
/system scheduler add \
name="AutoBackup" \
interval=6h \
on-event=":log info \"Backup Grooming 6h di atas \";\
/system backup save name=backup_temp;\
:local fileName \"backup_$(/system clock get time)&$(/system clock get date).backup\";\
/file move backup_temp dst-path=$fileName;\
/tool fetch address=192.168.1.10 port=21 \
user=mikrotikuser password=secret \
src=$fileName put=yes;\
/file remove $fileName"
Penjelasan:
interval=6h– menjalankan job tiap 6 jam.- Perintah di
on-eventadalah serupa skrip backup biasa, hanya disajikan dalam satu baris. - Anda dapat menggunakan
start-timejika ingin memulai di waktu tertentu.
Jika Anda membutuhkan backup hari Minggu seminggu sekali, gunakan days-of-week="1" (di RouterOS, 1 = Sunday).
Contoh weekly backup:/system scheduler add name="WeeklyBackup" \ interval=1d days-of-week=1 start-time=02:30:00 \ on-event="/system backup save name=weekly_temp;\ :local fileName \"weekly_$(/system clock get date).backup\";\ /file move weekly_temp dst-path=$fileName;\ /tool fetch address=192.168.1.10 user=mikrotikuser password=secret \ src=$fileName put=yes;\ /file remove $fileName"
Pengaturan Scheduler Multi-Host
Jika Anda mempunyai 3 perangkat mikrotik, Anda dapat menambahkan job yang memanggil skrip shell yang dapat diatur menggunakan Bash script di server. Namun, lebih sederhana adalah menambahkan ip address untuk setiap router, lalu mengeksekusi via remote rumus Skrip. Penting untuk menyesuaikan firewall inbound/outbound ports di masing – masing router.
Pengujian Backup dan Verifikasi
Node penting untuk memeriksa backup yang telah dibuat. Berikut cara memverifikasi di RouterOS dan FTP server.
1. Memeriksa File di RouterOS
Periksa ID Backup:/file print where name~"backup.*"
Pastikan file bernama backup_YYYY-mm-dd_HH:MM:SS.backup ada di direktori /file. Jika tidak, periksa log. Catatan: /system backup print juga memberikan ID internal yang dapat ditelusuri.
2. Validasi File di FTP Server
Buka FTP client seperti FileZilla, terhubung ke server dengan pengguna dan password yang sama, dan pastikan file backup berada di direktori yang reguler. Pastikan ada file terakhir yang sesuai dengan jadwal. Jika tidak, periksa firewall port 21 & passive ports.
3. Mengambil Versi Backup
Untuk memastikan file backup berfungsi, unduh satu file .backup dan pasang ke perangkat test. Proses ini melibatkan melepas nama backup_test.backup ke router test.
Pengambilan & Restore:/tool fetch address=192.168.1.10 user=mikrotikuser password=secret \ src="backup_20240814_02-30-00.backup" download=yes dst-path=backup_test.backup /system backup load name=backup_test.backup
Jika restore berhasil, RouterOS restart dan kembali ke konfigurasi yang ingin dipulihkan.
Perbaikan Masalah Umum
| Masalah | Penyebab | Solusi |
|---|---|---|
| FTP gagal dial | Firewall menolak port 21/Passive ports. | Pastikan aturan ip firewall filter add action=accept protocol=tcp tcp-port=21,dst-port=20000-21000 place-before=0. |
| File backup tidak terupload | Direktori tujuan tidak ada di server. | Pastikan user memiliki hak akses write ke direktori. |
| Scheduler tidak berjalan | Interval / days-of-week salah format. | Gunakan interval=1d dengan days-of-week=1. |
| File backup kosong | Kesalahan pada perintah /system backup save. |
Verifikasi dengan /system backup load & /file print. |
| Waktu backup tidak sesuai | Server dan router memiliki timezone berbeda. | Set timezone dengan /system clock set time-zone-name=Asia/Jakarta. Pastikan juga /system scheduler start-time. |
Best Practices dan Tips Keamanan
- Gunakan SFTP/FTP Secure – Jika memungkinkan, gunakan SFTP (SSH File Transfer Protocol). RouterOS menyediakan
/tool fetchuntuk SFTP. Ini menambah lapisan enkripsi. - Hapus Backup Lama – Terapkan kebijakan retensi (misalnya, simpan 10 backup terakhir). Skrip dapat menambahkan
/file find where name~"backup_.*" | foreach remove. - Blokir Akses di Router Outlet – Pastikan hanya perangkat dengan IP tertentu yang diizinkan melakukan upload. Tambahkan aturan firewall outbound.
- Penggunaan Folder Berdasarkan Host – Organisasi folder mengurangi kebingungan. Jika banyak host, buat direktori per router.
- Audit Log – Aktifkan
system logginguntuk file/log-file. Termasuk perintah/log file set. - Hardening Backup File – Tambahkan shell
gzipatauopenssluntuk enkripsi tambahan di sisi server. - Backup Konfigurasi Estetika – Setelah backup, ada baiknya mengekspor konfigurasi sebagai .rsc. Gunakan
/export file=router_config_$(/system clock get date.backup). - Monitoring Storage Space – Pastikan folder backup di server memiliki cukup kapasitas. Skrip
/file print file-info sizedapat menampilkan ukuran file.
Kesimpulan dan Rekomendasi Lanjutan
Backup otomatis via FTP memungkinkan administrator jaringan mengamankan konfigurasi RouterOS mereka dengan efisien tanpa keterlibatan manual. Kerangka kerja skrip, scheduler, dan firewall yang benar menyediakan sistem tangkas dan kompatibel. Namun, langkah selanjutnya bisa melibatkan penambahan elemen kenyamanan dan keamanan.
Rencana Jangka Panjang:
- Penggunaan VPN atau Tunnel SSH dari Mikro di ke server, menghindari penggunaan FTP publik.
- Penerapan Version Control System (Git) untuk konfigurasi .rsc yang bisa diverifikasi melalui diff.
- Integrasi dengan Monitoring Tools (Grafana/InfluxDB) untuk grafik kecepatan upload, error, atau stigma.
- Pemanfaatan OpenAPI / REST API RouterOS untuk memicu backup via HTTP POST.
- Backup Data Housekeeping menggunakan
crondi server untuk menghapus file lama secara berkala.
Implementasi backup otomatis tidak harus berakhir di FTP. Dengan menetapkan pola pikir "protect, test, repeat", Anda memastikan jaringan Anda resilient terhadap kegagalan dan serangan. Selamat mencoba, dan pastikan log selalu Anda cek.
Semoga artikel ini menjadi panduan komprehensif bagi Anda yang membutuhkan backup otomatis Mikrotik via FTP. Selamat beroperasi dengan lebih aman dan teratur!