Comments 3
А почему вы не храните это в файловой системе самого устройства? Команда экспорта может создать файл в файловой системе, а запуск этого файла развернёт всё назад. Минус одно стороннее устройство.
Хорошо, когда свободной энергонезависимой памяти в устройстве много, а списки занимают мало места. Однако чаще всего размер списков в районе 2-3 мегабайт, а свободного места в устройстве предательски мало. Второе — я так и не нашел способа отпарсить списки такого размера средствами скриптового языка RouterOS (тут еще примешивается проблема, что система не может нормально работать со списками большого размера, из-за этого приходится использовать DynListExport), а если список не подготовлен соответствующим образом, то при обнаружении дублирующихся записей импорт прервется. Ну и третье — желательно иметь бэкап всех настроек на стороннем устройстве, чтобы в случае аппаратной проблемы можно было легко поднять шлюз на аналогичном (или похожем) железе.
Использую похожий механизм для перезагрузки маршрутизатора, например, для обновления без потери динамических листов.
Плюсы в простоте реализации и в отсутствии необходимости в дополнительном ПО и оборудовании.
1) Кладем в скрипт в System -> Scripts; name=reboot:
Скрипт создает файл DynAddListsBackup.txt похожего содержания:
2) Добавляем автозапуск импорта сохраненных скриптом динамических листов из первого пункта в System -> Scheduler; start-time=startup:
3) Перезагружаемся System -> Scripts -> «reboot» -> Run Script. Или из консоли:
Плюсы в простоте реализации и в отсутствии необходимости в дополнительном ПО и оборудовании.
1) Кладем в скрипт в System -> Scripts; name=reboot:
:local file "DynAddListsBackup";
/execute script={
:local content "/ip firewall address-list\r\n";
:foreach i in=[/ip firewall address-list print as-value where dynamic] do={
:set $content ($content."add address=".$i->"address"." timeout=".$i->"timeout"." list=\"".$i->"list"."\"\r\n");
}
:put $content;
} file=$file
/system reboot
Скрипт создает файл DynAddListsBackup.txt похожего содержания:
/ip firewall address-list
add address=192.0.2.1 timeout=4w09:37:48 list="list one"
add address=198.51.100.222 timeout=4w12:12:58 list="list two"
2) Добавляем автозапуск импорта сохраненных скриптом динамических листов из первого пункта в System -> Scheduler; start-time=startup:
/import DynAddListsBackup.txt
3) Перезагружаемся System -> Scripts -> «reboot» -> Run Script. Или из консоли:
/system script run "reboot"
Sign up to leave a comment.
Автоматический бэкап и восстановление динамических списков адресов на Mikrotik