mikrotik автоматический backup на FTP

Создадим скрипт который будет делать копии настроек нашего микротика.

System->Scripts->"+"->name (bakup_on_ftp)->Policy(все кроме reboot и Dude)

В поле скрипта пишем тело скрипта

 

{

:local tmpdate [/system clock get date];

:local months

"jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");

:local month [ :pick $tmpdate 0 3 ];

:local mm ([ :find $months $month -1 ] + 1);

:if ($mm < 10) do={ :set mm ("0" . $mm); }

:local date ([:pick $tmpdate 4 6] ."-" . $mm ."-" . [:pick $tmpdate 7 11])

:local myname "mikrotik RB1100Hx4"

:local username ($myname."_".$date);

#local username "mikrotik RB1100Hx4"

#ftp account

local ftphost "192.168.1.12"

local ftpuser "username"

local ftppassword "Passwd"

local ftppath "/"

#create full system backup files

/system backup save name="$username"

:delay 30s;

#create config export files

/export compact file="$username.rsc"

:delay 30s;

# upload the system backup

:log info message="Uploading system backup"

/tool fetch address="$ftphost" src-path="$username.backup"

ser="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$username.backup" upload=yes
:delay 30s;

# upload the config export

:log info message="Uploading config export"

/tool fetch address="$ftphost" src-path="$username.rsc" user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$username.rsc" upload=yes

:delay 30s;

# find file name $username- then remove

:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "$username"]]!="nil") do={/file remove $i}; }

:log info message="Configuration backup finished.";

}

 

На ftp должен быть пользователь username с паролем Passwd, и микротик должен иметь доступ к ftp

Добавим наш скрипт в планировщик заданий

System->Sceduler->"+"->name(backup)->Start Time(12:00:00)->Interval(1d 00:00:00)->Policy(все кроме reboot,Dude)->ON Event(/system script run bakup_on_ftp)