Jeden z prostszych skryptów z zadeklarowaną nazwą pliku

System -> Scripts -> [+]
Name = "autobackup"
Source
:local ts [/system clock get time]
:set ts ([:pick $ts 0 2]."_".[:pick $ts 3 5]."_".[:pick $ts 6 8])

:local ds [/system clock get date]
:set ds ([:pick $ds 7 11]."_".[:pick $ds 0 3]."_".[:pick $ds 4 6])

:local fname ("BACKUP-".[/system identity get name]."-".$ds."-".$ts)
:local sfname ("/".$fname)

/system backup save name=($sfname.".backup")
/export file=($sfname.".rsc")

Następnie należy dodać skrypt do Schedulera

System -> Scheduler -> [+]
Name = "autobackup"
Interval ="1d 00:00:00"
On Event
/system script run autobackup

Jeśli robimy backup na dysku zewnętrznym (zalecane) to należy zmienić scieżkę do pliku

:local sfname ("/disk1/".$fname)

Poniżej znajduje się pełny skrypt ze zmianą formatu daty i wysyłką backupu na FTP. Na końcu jest też skrypt do usuwania plików po wysłaniu ale został zakomentowany.

# ftp server
 :local ftphost "ftp.domena.pl"
 :local ftpuser "user"
 :local ftppassword "pass"
 :local ftppath "/backup"

 # months array
 :local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");

 # get time
 :local ts [/system clock get time]
 :set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8])

 # get Date
 :local ds [/system clock get date]

 # convert name of month to number
 :local month [ :pick $ds 0 3 ];
 :local mm ([ :find $months $month -1 ] + 1);
 :if ($mm < 10) do={ :set mm ("0" . $mm); }

 # set $ds to format YYYY-MM-DD
 :set ds ([:pick $ds 7 11] . $mm . [:pick $ds 4 6])

 # file name for system backup - file name will be BCKP-servername-date-time.backup
 :local fname1 ([/system identity get name]."-".$ds."-".$ts.".backup")
 :local sfname1 ("/disk1/".$fname1)

 # file name for config export - file name will be BCKP-servername-date-time.rsc
 :local fname2 ([/system identity get name]."-".$ds."-".$ts.".rsc")
 :local sfname2 ("/disk1/".$fname2)

 # backup the configuration
 /system backup save name=$sfname1
 :log info message="System backup finished (1/2).";
 /export file=$sfname2
 :log info message="Config export finished (2/2)."

 # upload the system backup
 :log info message="Uploading system backup (1/2)."
 /tool fetch address="$ftphost" src-path=$sfname1 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname1" upload=yes

 # upload the configuration export
 :log info message="Uploading configuration export (2/2)."
 /tool fetch address="$ftphost" src-path=$sfname2 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 30s;

 # find file name start with BCKP- then remove
 #:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "BCKP-"]]!="nil") do={/file remove $i}; }
 #:log info message="Configuration backup finished.";

:local mname ([/system identity get name]." - Backup - ".$ds)
:local mailTo "email@domena.pl"
:local emailbody ("Plik z backupem: ".$sfname1."\r\nPlik z exportem: ".$sfname2)

/tool e-mail send subject=$mname to=$mailTo body=$emailbody

źródło: http://adminlog.eu/mikrotik-automated-backup/

Dodaj komentarz

Brak komentarzy, bądź pierwszy i dodaj swój komentarz