Один из заказчиков с достаточно обширным парком маршрутизаторов Mikrotik озаботился резервным копированием настроек. Я был приятно удивлен, учитывая, что мотивацией было «ну так будет правильно», а не инцидент, когда вдруг нужна резервная копия (и которой нет). Заказчик сам вычитал про возможность отправки резервной копии настроек на почту, но перед внедрением решил проконсультироваться о возможных альтернативах — ниже я расскажу о том, как централизованно собираю бэкапы со своего парка устройств.

Вводные данные такие: во главе «стола» у меня находится выделенная машина под управлением MS Windows Server, оттуда можно «достучаться» до каждого из роутеров. Чтобы не расходовать ресурс встроенной NAND-памяти я везде подключил USB-флешки — впрочем, тут уж решайте сами, стоит ли игра свеч. В каждом роутере создаем задачу на снятие резервной копии настроек, проще всего это сделать через WinBox — открываем и переходим в раздел System->Scheduler, после чего создаем задачу планировщика:

Name: WeeklyBackup
Start Date: <today>
Start Time: 03:30:00
Interval: 7d 00:00:00

Owner: <admin>
Policy: <all>
On Event: /system backup save name="usb1-part1/Backup/Current.backup"

В моем случае настройки на роутерах обычно не изменяются, посторонних лиц на них не бывает, поэтому я снимаю копии только раз в неделю, а не каждый день. Впрочем, если все-таки приходится что-то изменять в конфигурации, то резервную копию в этом случае я снимаю отдельно. После создания задачи в планировщике хорошим тоном будет создать отдельного пользователя — из-под которого в дальнейшем мы будем читать файл бэкапа. Перемещаемся в раздел System->Users, но перед созданием пользователя сперва сделаем для него отдельную группу. Переключаемся на вкладку Groups, создаем группу со следующими политиками:

Name: backup
Policies: ftp, sensitive, ssh, read

Возвращаемся на вкладку Users, создаем пользователя:

Name: mrBackup
Group: backup
Allowed Address: 192.168.74.1

После создания пользователя нажимаем на кнопку Password и задаем пароль. Проверяем в разделе IP->Services что служба SSH включена, не лишним будет указать с каких адресов она будет доступна. Убедитесь, что правила IP->Firewall сконфигурированы так, что подключение по SSH с нужного хоста вообще возможно. На этом этапе на первом роутере настройка завершена, остальные (если есть) конфигурируйте по образу и подобию.

Теперь перемещаемся на сервер, для дальнейшей работы нужно скачать утилиту PSCP, после чего создаем сценарный BAT-файл следующего вида:

@echo off
@title Mikrotik Backup
set PSCP_PATH="%PROGRAMFILES%\PuTTY\pscp.exe"
set HOST=VerySecretIP
set USER=mrBackup
set PASSWORD=VeryStrongPassword
set REMOTE_FILE=/usb1-part1/Backup/Current.backup
set LOCAL_PATH=Z:\Backup\Mikrotik\%date%.backup
%PSCP_PATH% -pw %PASSWORD% %USER%@%HOST%:%REMOTE_FILE% "%LOCAL_PATH%"

Дальше этот сценарный файл можно подвязать в планировщик задач, но не ошибитесь со временем запуска — сначала на роутере должен появиться свежий бэкап, а подключаться и скачивать его нужно чуть позже.