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 :