Mikrotik Scripting – Backup Konfigurasi Mikrotik Ke Email

Kali ini saya akan mencatat hasil eksperimen saya terkait script backup konfigurasi mikrotik yang setelah dibackup akan dikirim ke admin/noc 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)

MikroTik RouterOS 6

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

MikroTik RouterOS 7

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

Mikrotik 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 !!";

Mikrotik 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 !!";

MikroTik 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 !!";

Backup Format .rsc dan .backup

MikroTik 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 !!";

Mikrotik 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 !!";

MikroTik 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 !!";

Sumber & Referensi

Tested On :