четверг, 10 октября 2013 г.

Mikrotik SSH Backup - собственное исполнение

Вводная: Необходимо было реализовать бэкап конфигураций Mikrotik. Но с несколькими ограничениями -
1) Средство должно было быть под Windows
2) Средство не должно было вызывать запись на внутреннюю флеш-память микротика (ограниченное число циклов записи)
3) Средство должно было иметь возможность автоматического выполнения и отсылки отчёта в случае неудачи.

Решение: Реализовал с помощью C# .Net. Программа подключается через SSH к Mikrotik. И сохраняет вывод команды export compact. При запуске через командную строку с параметром Backup ("MikrotikSSHBackup.exe Backup"), просто выполняется, создавая резервные копии.


Для работы программы необходимо сделать следующее -

  1. Включить пакет Security (System - Packages - Security)
  2. Проверить, что ssh не отключен в IP - Services (порт 22). Рекомендуется также проставить Available From и только нужную нам подсеть, чтобы не было доступа из вне, если конечно доступ не требуется)
  3. Необязательно, но настоятельно рекомендую создать группу которая может работать только с ssh (можно и из-под админа, но не совсем правильно)
  4. user group add name=SSH policy="ssh, read" 
  5. user add name=userSSH group=SSH password=TestPaSSword
  6. Добавить в программу необходимые роутеры.
  7. Добавить (если необходимо) параметры для отправки email
  8. Проверить работу программы нажав на "Start Backup"


Ссылки: Скачать саму программу - https://dl.dropboxusercontent.com/u/10168286/Programmers/MikrotikSSHBackup.zip
GitHub - https://github.com/psionika/MikrotikSSHBackup (здесь вы можете посмотреть исходный код и всегда скачать самую последнюю версию)
"Резервное копирование Mikrotik в Subversion посредством SSH/SFTP" - http://habrahabr.ru/post/143320/ (на основании данной статьи сделал и я)