MikroTik: automatyczny backup konfiguracji na serwer
Router, który „po prostu działa", jest świetny — do momentu, aż coś się posypie albo ktoś zmieni regułę i nikt nie pamięta jak było. Dlatego konfigurację MikroTika warto backupować automatycznie i trzymać poza urządzeniem. Pokażę, jak zrobić oba typy kopii, dodać harmonogram i wysłać pliki na serwer lub do chmury.
Dwa rodzaje backupu — rób oba
.backup— pełna, binarna kopia (łącznie z hasłami i certyfikatami). Idealna do odtworzenia 1:1 tego samego urządzenia. Nie jest czytelna i nie przeniesiesz jej wprost na inny model..rsc— eksport tekstowy (/export). Czytelny, wersjonowalny, świetny do porównywania zmian i do przeniesienia fragmentów konfiguracji na inny router.
Krok 1: skrypt tworzący obie kopie
W System → Scripts dodaj skrypt (nazwa np. backup-config). Używamy „skryptowej" składni RouterOS ze zmienną czasu w nazwie pliku:
:local stamp ([:pick [/system clock get date] 0 11] . "-" . [:pick [/system clock get time] 0 5]);
:local fname ("backup-" . $stamp);
/system backup save name=$fname dont-encrypt=yes;
/export file=$fname;
:delay 3s;
:log info ("Backup utworzony: " . $fname);
Powstaną dwa pliki: backup-RRRR-MM-DD-GGMM.backup i ...rsc.
/ip ... potrafią zwracać expected command name. Działają formy skryptowe: :local, :foreach ... do={...}, :put [...]. Dlatego w automatyzacji zawsze pakuj polecenia w skrypt.
Krok 2: harmonogram
W System → Scheduler dodaj zadanie uruchamiające skrypt np. raz dziennie w nocy:
/system scheduler
add name=daily-backup interval=1d start-time=03:00 \
on-event="/system script run backup-config" \
comment="Codzienny backup konfiguracji"
Krok 3: wyślij pliki poza router
Backup na samym routerze nie chroni przed jego awarią. Najprościej pobrać pliki z zewnątrz po zakończeniu skryptu. Z serwera (Linux/WSL) przez scp/pscp:
# pobranie najnowszych kopii z routera na serwer
pscp -pw "<haslo>" -batch admin@192.168.100.1:backup-*.backup /srv/backups/mikrotik/
pscp -pw "<haslo>" -batch admin@192.168.100.1:backup-*.rsc /srv/backups/mikrotik/
Chcesz od razu w chmurze? Jeśli masz Nextcloud, wgraj pliki przez WebDAV:
curl -u "<user>:<haslo>" -T /srv/backups/mikrotik/backup-XXXX.rsc \
https://nextcloud.twojadomena.pl/remote.php/dav/files/<user>/backup/MikroTik/backup-XXXX.rsc
Krok 4: posprzątaj stare pliki na routerze
Żeby pamięć routera się nie zapełniła, po skopiowaniu usuń stare kopie. Fragment do dołożenia do skryptu (kasuje pliki backupu starsze niż zadana liczba dni wymaga własnej logiki dat — najprościej usuwać wszystkie po udanym pobraniu):
:foreach i in=[/file find where name~"backup-"] do={/file remove $i};
:log info "Stare pliki backupu usunięte z routera";
.rsc pozwala dokładnie zobaczyć, co i kiedy się zmieniło (zwłaszcza gdy trzymasz pliki w repo lub w chmurze z historią wersji).
NAS lub dysk sieciowy na backupy
Kopie konfiguracji zajmują grosze miejsca, ale warto trzymać je na osobnym urządzeniu — NAS-ie albo mini-serwerze z Nextcloud. Wtedy awaria routera nie zabiera Ci historii.
Zobacz NAS i dyski sieciowe ›Podsumowanie
- Rób oba typy:
.backup(pełny, do odtworzenia) i.rsc(czytelny, do porównań). - Scheduler robi kopie regularnie; dodatkowo backupuj po każdej zmianie.
- Najważniejsze: wyślij pliki poza router (serwer/NAS/chmura).
- Pakuj polecenia w skrypty — formy skryptowe RouterOS działają zdalnie, „gołe" bywa, że nie.
Zobacz też: jak wymusić DNS przez AdGuard na MikroTiku.