Скрипт для выгрузки бекапа и экспорта Mikrotik на ФТП ресурс (проверен на 6.35.2):
# automated backup export ftp
# ftp configuration
:local ftphost "host"
:local ftpuser "user"
:local ftppassword "pass"
:local ftppath "folder_ftp"
# 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 Mikrotik-servername-date-time.backup
:local fname1 ("/Mikrotik-".[/system identity get name]."-".$ds."-".$ts.".backup")
# file name for config export - file name will be Mikrotik-servername-date-time.rsc
:local fname2 ("/Mikrotik-".[/system identity get name]."-".$ds."-".$ts.".rsc")
# backup the data
/system backup save name=$fname1
:log info message="System backup finished (1/2).";
/export compact file=$fname2
:log info message="Config export finished (2/2)."
# upload the user manager backup
:log info message="Uploading system backup (1/2)."
/tool fetch address="$ftphost" src-path=$fname1 user="$ftpuser" mode=ftp password="$ftppassword" dst-path="$ftppath/$fname1" upload=yes
# upload the config export
:log info message="Uploading config export (2/2)."
/tool fetch address="$ftphost" src-path=$fname2 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 Mikrotik- then remove
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "Mikrotik-"]]!="nil") do={/file remove $i}; }
:log info message="Configuration backup finished.";
Файлы имеют такой вид:
Спасибо. Работает. То, что нужно.
ОтветитьУдалитьYou're welcome
УдалитьХороший скрипт, но будьте осторожны! Команда /system backup save name=$fname1 выгружает файл в зашифрованном виде. Пароль при восстановлении будет не подобрать.
ОтветитьУдалитьПоэтому либо так:
/system backup save dont-encrypt=yes name=$fname1
либо так:
/system backup save name=$fname1 password=qwerty
А разве не тот пароль будет, под пользователем которого создан скрипт?
УдалитьДобрый день!
ОтветитьУдалитьПодскажите, пытаюсь настроить, не выходит. Что именно необходимо указывать в :
local ftphost "host"
:local ftpuser "user"
:local ftppassword "pass"
:local ftppath "folder_ftp"
Локальный фтп у меня на ххх.ххх.ххх.103:порт
логин пользователя ФТП
Пароль пользователя ФТП
Папка для сохранения конфигов.
Предполагаю, что моя проблемма именно в 1й и 4й строках.
Как их верно указывать, нужно ли ftp://ip:port ?
FTP при моих попытках ничего не говорит, мол не было попыток подключиться с данного логина.
ХЕЛП ))
Для прикладу :
Удалить:local ftphost "192.168.x.x"
:local ftpuser "FTP"
:local ftppassword "FTP"
:local ftppath "backups/Mikrotik"
А если у меня парк из 200-400 микротиков?
ОтветитьУдалитьЗначит, у Вас довольно интересная работа) Многие могут только мечтать о таком парке)
УдалитьДобрый день!
ОтветитьУдалитьХороший скрипт.
Спасибо. Работает. То, что нужно.
Версия 6.45.6 - работает отлично. Спасибо вам большое. Особенно за указание пути сохранения на FTP.
ОтветитьУдалитьЕще вариант бекапа и авто обновлений
ОтветитьУдалитьhttps://github.com/beeyev/Mikrotik-RouterOS-automatic-backup-and-update
Спасибо большое!
ОтветитьУдалитьпытаюсь запустить уже третий скрипт, не получается:(
ОтветитьУдалитьругается на строку с :set
версия 6.46.8
что не так? подскажите плиз.
:set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8])
Удалитьsyntax error (line 1 column 6)
Этот комментарий был удален автором.
ОтветитьУдалить