MikroTik Scripting: Backup Konfigurasi MikroTik Ke Email

Kali ini saya akan mencatat hasil eksperimen saya terkait script backup konfigurasi mikrotik yang setelah di backup akan dikirim melalui email.
Script ini biasa saya gabungkan dengan fitur scheduler agar terjadwal di kondisi/waktu tertentu

Jangan lupa untuk setup setup email terlebih dahulu di menu Tools > Email atau menggunakan CLI seperti berikut.

Setup Email (SMTP Server) – RouterOS 6

/tool e-mail set address=smtp.server.com from=[email protected] password=PasswordAman port=587 start-tls=yes user=[email protected]

Setup Email (SMTP Server) – MikroTik RouterOS 7

/tool e-mail set address=smtp.server.com from=[email protected] password=PasswordAman port=587 tls=starttls user=[email protected] \

Script Pencadangan Konfigurasi .rsc (Export) – RouterOS 6

#BUAT VARIABEL - ROS 6 
:local ptanggal [/system clock get date];
:local d [:pick $ptanggal 4 6];
:local m [:pick $ptanggal 0 3] ;
:local y [:pick $ptanggal 7 11];
:local tanggal "$d $m $y";
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local perusahaan "WarsCloud";
:local namafile "backup $perusahaan_$perangkat_$tanggal.rsc";
:local mailserver "smtp.server.com"
:local pengirim "[email protected]"
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat"
:local body "Berikut file backup konfigurasi server $perangkat - $ptanggal  $jam"

#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/export file=$namafile;

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/tool e-mail send server=$mailserver start-tls=yes to=$penerima from=$pengirim subject=$subjek body=$body file=$namafile;

#BUAT KETERANGAN DI LOG
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file remove $namafile;

#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Script Pencadangan Konfigurasi .rsc (Export) – RouterOS 7.9.2 Atau Dibawahnya

#BUAT VARIABEL ROS 7.9.2 ATAU DIBAWAHNYA (FORMAT DATE LAMA)
:local ptanggal [/system clock get date];
:local d [:pick $ptanggal 4 6];
:local m [:pick $ptanggal 0 3] ;
:local y [:pick $ptanggal 7 11];
:local tanggal "$d $m $y";
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local perusahaan "WarsCloud";
:local namafile "backup $perusahaan_$perangkat_$tanggal.rsc";
:local mailserver "smtp.server.com"
:local pengirim "[email protected]"
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat"
:local body "Berikut file backup konfigurasi server $perangkat - $ptanggal  $jam"

#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/export file=$namafile;

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/tool e-mail send server=$mailserver tls=starttls to=$penerima from=$pengirim subject=$subjek body=$body file=$namafile;

#BUAT KETERANGAN DI LOG
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file remove $namafile;

#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Script Pencadangan Konfigurasi .rsc (Export) – RouterOS 7.10 Atau Diatasnya

#BUAT VARIABEL ROS => 7.10 (ATAU DIATASNYA)
:local tanggal [/system clock get date];
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local perusahaan "WarsCloud";
:local namafile "backup $perusahaan_$perangkat_$tanggal.rsc";
:local mailserver "smtp.server.com"
:local pengirim "[email protected]"
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat"
:local body "Berikut file backup konfigurasi server $perangkat - $tanggal  $jam"

#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/export file=$namafile;

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/tool e-mail send server=$mailserver tls=starttls to=$penerima from=$pengirim subject=$subjek body=$body file=$namafile;

#BUAT KETERANGAN DI LOG
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file remove $namafile;

#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Script Pencadangan Konfigurasi .rsc dan .backup (Export dan Backup) – RouterOS 6

#BUAT VARIABEL - ROS 6 
:local ptanggal [/system clock get date];
:local d [:pick $ptanggal 4 6];
:local m [:pick $ptanggal 0 3] ;
:local y [:pick $ptanggal 7 11];
:local tanggal "$d $m $y";
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local boardname [/system resource get board-name];
:local rosversion [/system resource get version];
:local perusahaan "WarsCloud";
:local namafilersc "$perusahaan_$perangkat_$tanggal.rsc";
:local namafilebackup "$perusahaan_$perangkat_$tanggal";
:local mailserver "smtp.server.com"
:local pengirim "[email protected]"
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat"
:local body "Berikut kami lampirkan file backup konfigurasi\n\nNama perangkat: $perangkat \nBoard: $boardname\nVersi RouterOS: $rosversion\nTanggal & jam backup: $tanggal  $jam"

#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/log warning message="proses backup type rsc sedang berlangsung";
/export file=$namafilersc;
/log warning message="proses backup type rsc selesai";
/log warning message="proses backup type backup sedang berlangsung";
/system backup save name=$namafilebackup;
/log warning message="proses backup type backup selesai";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/log warning message="proses pengiriman email sedang berlangsung";
/tool e-mail send server=$mailserver start-tls=yes to=$penerima from=$pengirim subject=$subjek body=$body file="$namafilersc,$namafilebackup.backup";

#BUAT KETERANGAN DI LOG
/delay delay-time=2s;
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file remove $namafilersc;
/file remove $namafilebackup
/log warning message="file backup telah dihapus";

#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Script Pencadangan Konfigurasi .rsc dan .backup (Export dan Backup) – RouterOS 7.9.2 Atau Dibawahnya

#BUAT VARIABEL ROS 7.9.2 ATAU DIBAWAHNYA (FORMAT DATE LAMA)
:local ptanggal [/system clock get date];
:local d [:pick $ptanggal 4 6];
:local m [:pick $ptanggal 0 3] ;
:local y [:pick $ptanggal 7 11];
:local tanggal "$d $m $y";
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local boardname [/system/resource/get board-name];
:local rosversion [/system/resource/get version];
:local perusahaan "WarsCloud";
:local namafilersc "$perusahaan_$perangkat_$tanggal.rsc";
:local namafilebackup "$perusahaan_$perangkat_$tanggal";
:local mailserver "smtp.server.com";
:local pengirim "[email protected]";
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat";
:local body "Berikut kami lampirkan file backup konfigurasi\n\nNama perangkat: $perangkat \nBoard: $boardname\nVersi RouterOS: $rosversion\nTanggal & jam backup: $tanggal  $jam";

#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/log/warning message="proses backup type rsc sedang berlangsung";
/export file=$namafilersc;
/log/warning message="proses backup type rsc selesai";
/log/warning message="proses backup type backup sedang berlangsung";
/system/backup/save name=$namafilebackup;
/log/warning message="proses backup type backup selesai";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/log/warning message="proses pengiriman email sedang berlangsung";
/tool e-mail send server=$mailserver tls=starttls to=$penerima from=$pengirim subject=$subjek body=$body file="$namafilersc,$namafilebackup.backup";

#BUAT KETERANGAN DI LOG
/delay delay-time=2s;
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file/remove $namafilersc;
/file/remove $namafilebackup;
/log warning message="file backup telah dihapus";


#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Script Pencadangan Konfigurasi .rsc dan .backup (Export dan Backup) – RouterOS 7.10 Atau Diatasnya

#BUAT VARIABEL ROS => 7.10 (ATAU DIATASNYA)
:local tanggal [/system clock get date];
:local jam [/system clock get time];
:local perangkat [/system identity get name];
:local boardname [/system/resource/get board-name];
:local rosversion [/system/resource/get version];
:local perusahaan "WarsCloud";
:local namafilersc "$perusahaan_$perangkat_$tanggal.rsc";
:local namafilebackup "$perusahaan_$perangkat_$tanggal";
:local mailserver "smtp.server.com";
:local pengirim "[email protected]";
:local penerima "[email protected]";
:local subjek "Recurring Backup Configuration $perusahaan | $perangkat";
:local body "Berikut kami lampirkan file backup konfigurasi\n\nNama perangkat: $perangkat \nBoard: $boardname\nVersi RouterOS: $rosversion\nTanggal & jam backup: $tanggal  $jam";


#PERINTAH MELAKUKAN BACKUP KONFIGURASI
/log/warning message="proses backup type rsc sedang berlangsung";
/export file=$namafilersc;
/log/warning message="proses backup type rsc selesai";
/log/warning message="proses backup type backup sedang berlangsung";
/system/backup/save name=$namafilebackup;
/log/warning message="proses backup type backup selesai";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=10s;

#PERINTAH EKSEKUSI MENGIRIM EMAIL
/log/warning message="proses pengiriman email sedang berlangsung";
/tool e-mail send server=$mailserver tls=starttls to=$penerima from=$pengirim subject=$subjek body=$body file="$namafilersc,$namafilebackup.backup";

#BUAT KETERANGAN DI LOG
/delay delay-time=2s;
/log warning message="email berhasil dikirim, selanjutnya akan menghapus file backup";

#DELAY UNTUK MELAKUKAN PERINTAH SELANJUTNYA
/delay delay-time=20s;

#HAPUS FILE BACKUP
/file remove $namafilersc;
/file remove $namafilebackup;

#BUAT KETERANGAN DI LOG
/log warning message="task backup konfigurasi dan kirim email selesai !!";

Otomasi Penjadwalan Backup Menggunakan Scheduler

Agar backup dilakukan otomatis di jam tertentu gunakan scheduler.
Contoh disini saya akan melakukan penjadwalan backup setiap hari di jam 1 malam, Silakan sesuaikan script dengan versi RouterOS dan tipe backup nya, diatas.

Sumber & Referensi

Tested On : MikroTik