Tutorial Cara Backup Router Mikrotik Secara Otomatis ke FTP Server - Backup konfigurasi merupakan sebuah tindakan untuk mengamankan konfigurasi di dalam router, tujuannya tentu saja untuk membuat cadangan konfigurasi manakala router mengalami kegagalan fungsi (malfunction), baik karena kerusakan hardware maupun karena terjadi crash.
Dengan adanya file backup, maka proses recovery akan lebih cepat karena kita hanya perlu me-restorenya saja, tutorial mengenai cara backup dan restore konfigurasi pada router mikrotik sudah saya publish di blog ini,kamu bisa mengikuti panduannya disini (Baca : tutorial cara backup dan restore konfigurasi router mikrotik).
Namun pada tutorial itu saya hanya membahas bagaimana cara backup konfigurasi router mikrotik secara manual, untuk jumlah router yang sedikit cara tersebut memang masih efektif, tapi bagaimana kalau router yang dihandle jumlahnya sangat banyak ? tentu saja membutuhkan waktu cukup lama untuk melakukan backup router satu persatu.
Untuk itu kita bisa melakukan backup konfigurasi router mikrotik secara otomatis dengan membuat script khusus, script yang dibuat nantinya akan men-generate file backup (.backup dan .rsc) secara otomatis, lalu mengirimkannya baik ke alamat email tertentu maupun upload ke FTP Server.
Baca juga :
- Perbedaan backup-restore dan export-import pada router mikrotik
- Cara backup router mikrotik secara otomatis dan mengirimkannya melalui email
Tutorial cara melakukan backup otomatis dan mengirimkannya melalui email bisa kamu pelajari dengan mengklik link di atas, pada tutorial ini saya hanya akan membahas bagaimana melakukan backup konfigurasi router secara otomatis ke FTP Server, tujuannya sama saja dengan backup otomatis melalui email, yang membedakan hanya medianya saja.
Selain itu, backup konfigurasi router otomatis ke FTP Server juga sangat cocok apabila jumlah router yang dihandle cukup banyak, ini karena space penyimpanan (storage) pada FTP Server jauh lebih besar daripada space pada email.
Tutorial Backup Router Mikrotik Otomatis ke FTP Server
Untuk melakukan backup konfigurasi router mikrotik secara otomatis ke FTP Server, kita memerlukan PC/Komputer khusus yang difungsikan untuk Server FTP (File Transfer Protocol), apa itu FTP? yaitu sebuah protokol yang memungkinkan kita bertukar file baik dari komputer client ke server (upload) maupun dari server ke client (donwload).
Pada tutorial ini saya menggunakan 1 PC yang di dalamnya sudah saya install operating system Ubuntu 16.04 LTS, dengan VSFTPD sebagai Server FTP-nya, tutorial cara menginstall VSFTPD dan cara mengkonfigurasinya bisa kamu baca disini ~> cara install dan konfigurasi FTP Server di Ubuntu.
Jika FTP Server sudah siap, sekarang kita bisa mengkonfigurasi router mikrotiknya, agar backup otomatis nantinya bisa berjalan dengan baik dan sesuai harapan, pastikan pengaturan waktu dan tanggal pada router sudah benar.
Kemudian kita buat script, script ini berfungsi untuk men-generate file backup (.backup dan .rsc) secara otomatis dan menguploadnya ke FTP Server menggunakan tool fetch.
Caranya klik menu System -> Scripts -> lalu klik tombol add (+) untuk menambahkan script baru.
Setelah itu akan muncul jendela New Script, pada kolom Name silahkan isikan dengan nama script yang diinginkan, misalnya saya beri nama mikrotik-autobackup, lalu pada kolom Source isi dengan script dibawah ini.
#1. Script backup otomatis tanpa user manager
# Automated backup to external FTP Server
# FTP configuration
:local ftphost "IP_Server_FTP"
:local ftpuser "Username-FTP"
:local ftppassword "Password-FTP"
:local ftppath "Direktori-Penyimpanan"
# Months array
:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
# Get Date
:local ds [/system clock get date]
# set $ds to format DD-MM-YYYY
:set ds ([:pick $ds 4 6].[:pick $ds 0 3].[:pick $ds 7 11])
# file name for system backup - file name will be Backup-servername-date-time.backup
:local fname1 ("/Backup-".[/system identity get name]."-".$ds.".backup")
# file name for config export - file name will be Backup-servername-date-time.rsc
:local fname2 ("/Backup-".[/system identity get name]."-".$ds.".rsc")
# Backup the data
:log info message="+++++++++++++++++++++++++++++++++++++++++++++++++++++";
:log info message="===> Generating backup now begin";
/system backup save name=$fname1
:log info message="===> Generate system backup finished";
/export compact file=$fname2
:log info message="===> Generate export file finished";
# Upload the system backup
:log info message="===> Uploading system backup"
/tool fetch address="$ftphost" src-path=$fname1 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname1" upload=yes
# Upload the config export
:log info message="===> Uploading export file"
/tool fetch address="$ftphost" src-path=$fname2 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname2" upload=yes
# Delay time to finish the upload - increase it if your backup file is big
:delay 60s;
# Find file name start with Backup- then remove
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "Backup-"]]!="nil") do={/file remove $i}; }
:log info message="===> The backup configuration is complete and successfully uploaded to the ftp server";
:log info message="+++++++++++++++++++++++++++++++++++++++++++++++++++++";
#2. Script backup otomatis dengan user manager
# Automated backup to external FTP Server
# FTP configuration
:local ftphost "IP_Server_FTP"
:local ftpuser "Username-FTP"
:local ftppassword "Password-FTP"
:local ftppath "Direktori-Penyimpanan"
# Months array
:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
# Get Date
:local ds [/system clock get date]
# set $ds to format DD-MM-YYYY
:set ds ([:pick $ds 4 6].[:pick $ds 0 3].[:pick $ds 7 11])
# File name for user manager backup - file name will be Backup-servername-date-time.umb
:local fname ("/Backup-".[/system identity get name]."-".$ds.".umb")
# file name for system backup - file name will be Backup-servername-date-time.backup
:local fname1 ("/Backup-".[/system identity get name]."-".$ds.".backup")
# file name for config export - file name will be Backup-servername-date-time.rsc
:local fname2 ("/Backup-".[/system identity get name]."-".$ds.".rsc")
# Backup the data
/tool user-manager database save name=$fname
:log info message="+++++++++++++++++++++++++++++++++++++++++++++++++++++";
:log info message="===> Generating backup now begin";
:log info message="===> Generate user manager backup finished";
/system backup save name=$fname1
:log info message="===> Generate system backup finished";
/export compact file=$fname2
:log info message="===> Generate export file finished";
# Upload the user manager backup
:log info message="===> Uploading user manager backup"
/tool fetch address="$ftphost" src-path=$fname user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname" upload=yes
# Upload the system backup
:log info message="===> Uploading system backup"
/tool fetch address="$ftphost" src-path=$fname1 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname1" upload=yes
# Upload the config export
:log info message="===> Uploading export file"
/tool fetch address="$ftphost" src-path=$fname2 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname2" upload=yes
# Delay time to finish the upload - increase it if your backup file is big
:delay 60s;
# Find file name start with Backup- then remove
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "Backup-"]]!="nil") do={/file remove $i}; }
:log info message="===> The backup configuration is complete and successfully uploaded to the ftp server";
:log info message="+++++++++++++++++++++++++++++++++++++++++++++++++++++";
Teks yang saya tandai warna kuning diatas silahkan kamu sesuaikan dengan konfigurasi pada FTP Server, untuk lebih jelasnya kamu bisa melihat contoh pada gambar dibawah pada bagian # FTP configuration.Jika sudah klik tombol Apply dan OK untuk menyimpan script. Untuk menguji apakah script diatas sudah bisa berjalan atau belum silahkan jalankan script dengan cara klik tombol Run Script, seharusnya file backup sudah berhasil digenerate dan diupload ke FTP Server, kamu bisa menemukan file backup yang sudah digenerate di menu Files.
Agar script bisa dieksekusi oleh router secara otomatis dan terjadwal, kita harus membuat schedule untuk menjalankan script yang sudah dibuat secara periodik, klik menu System ~> Scheduler ~> klik tombol add (+) untuk membuat schedule baru.
Agar script bisa dieksekusi oleh router secara otomatis dan terjadwal, kita harus membuat schedule untuk menjalankan script yang sudah dibuat secara periodik, klik menu System ~> Scheduler ~> klik tombol add (+) untuk membuat schedule baru.
Kemudian berikan nama schedule pada kolom Name, nama schedule ini bisa disamakan dengan nama script atau dibedakan. Selain nama schedule, ada beberapa parameter yang perlu dikonfigurasi, diantaranya yaitu :
- Start Date : Tanggal kapan schedule ini akan dijalankan
- Start Time : Waktu atau jam berapa schedule ini akan dijalankan
- Interval : Yaitu pengulangan kapan schedule ini akan dijalankan kembali
- On Event : Isi sesuai dengan nama script yang akan dijalankan
Kalau sudah, klik tombol Apply dan OK untuk menyimpan schedule.
Dari schedule diatas bisa dilihat bahwa script mikrotik-autobackup akan mulai dijalankan pada tanggal 20 Juli 2018 pukul 15:00 dengan interval selama 7 hari. Artinya, script mikrotik-autobackup ini akan dijalankan setiap 7 hari sekali oleh router, untuk mengetahui kapan script autobackup akan dijalankan kembali secara otomatis, kamu bisa melihatnya pada kolom Next Run.
Oh ya, kalau file backup yang digenerate oleh router sudah berhasil diupload ke FTP Server, maka akan dihapus secara otomatis pada router, tujuannya agar file backup tidak menumpuk di dalam storage router yang bisa menyebabkan penuhnya space penyimpanan pada router.
Script mikrotik-autobackup diatas sudah dilengkapi dengan perintah logging, jadi kamu bisa melihat langsung proses generate file backup dan proses upload file backup ke FTP Server dengan cara melihat log pada router seperti ini.
Untuk memastikan file backup sudah berhasil diupload ke FTP Server, kamu bisa mengeceknya menggunakan aplikasi FTP Client Filezilla. Dari pengujian yang saya lakukan ternyata file backup yang sudah digenerate otomatis oleh router berhasil diupload ke FTP Server, lihat gambar dibawah.
Sampai disini backup konfigurasi router secara otomatis ke FTP Server sudah berhasil dijalankan, dengan begitu kita sebagai admin jaringan tidak perlu susah payah melakukan backup konfigurasi router secara manual satu persatu, untuk me-restorenya kamu hanya perlu mengambil file backup (yang akan direstore) dari FTP Server lalu upload ke menu file mikrotik.
Oh ya, kalau file backup yang digenerate oleh router sudah berhasil diupload ke FTP Server, maka akan dihapus secara otomatis pada router, tujuannya agar file backup tidak menumpuk di dalam storage router yang bisa menyebabkan penuhnya space penyimpanan pada router.
Script mikrotik-autobackup diatas sudah dilengkapi dengan perintah logging, jadi kamu bisa melihat langsung proses generate file backup dan proses upload file backup ke FTP Server dengan cara melihat log pada router seperti ini.
Untuk memastikan file backup sudah berhasil diupload ke FTP Server, kamu bisa mengeceknya menggunakan aplikasi FTP Client Filezilla. Dari pengujian yang saya lakukan ternyata file backup yang sudah digenerate otomatis oleh router berhasil diupload ke FTP Server, lihat gambar dibawah.
Sampai disini backup konfigurasi router secara otomatis ke FTP Server sudah berhasil dijalankan, dengan begitu kita sebagai admin jaringan tidak perlu susah payah melakukan backup konfigurasi router secara manual satu persatu, untuk me-restorenya kamu hanya perlu mengambil file backup (yang akan direstore) dari FTP Server lalu upload ke menu file mikrotik.
Atau bisa juga dengan cara download langsung file backup yang ada di FTP Server dari router mikrotik dengan tool fetch yang kita jalankan di terminal mikrotik, untuk tutorialnya akan saya posting setelah ini, jadi pastikan kamu terus mengunjungi blog www.tutorialjaringan.com atau berlangganan artikel via email dengan cara mendaftarkan alamat email pada kolom subscribe dibawah untuk mendapatkan notifikasi setiap kali saya memposting artikel / tutorial baru.
Demikian tutorial kali ini, semoga bermanfaat dan terima kasih.