Резервное копирование RouterOS по FTP
Для реализации этой затеи нам понадобится FTP сервер и устройство с RouterOS на борту. Веселых картинок не будет т.к. стараюсь выполнять все в консоли.Первым делом добавим скрипт для создания полной копии конфигурации устройства и передача его по FTP.
1 |
/system script |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
add dont-require-permissions=no name=backup owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ local saveRawExport true\r\ \n\r\ \n:local FTPServer \"10.10.10.10\"\r\ \n:local FTPPort 21\r\ \n:local FTPUser \"login\"\r\ \n:local FTPPass \"superpassword\"\r\ \n:local FTPPath \"/FOLDER\"\r\ \n\r\ \n:local ts [/system clock get time]\r\ \n:set ts ([:pick \$ts 0 2].[:pick \$ts 3 5].[:pick \$ts 6 8])\r\ \n\r\ \n:local ds [/system clock get date]\r\ \n:set ds ([:pick \$ds 7 11].[:pick \$ds 0 3].[:pick \$ds 4 6])\r\ \n\r\ \n:local fname (\"BACKUP-\".[/system identity get name].\"-\".\$ds.\"-\".\ \$ts)\r\ \n:local sfname (\"/\".\$fname)\r\ \n\r\ \nif (\$saveRawExport) do={\r\ \n /export file=(\$sfname.\".rsc\")\r\ \n :log info message=\"Raw configuration script export Finished\"\r\ \n}\r\ \n:delay 15s\r\ \n:local backupFileName \"\"\r\ \n\r\ \n:foreach backupFile in=[/file find] do={\r\ \n :set backupFileName (\"/\".[/file get \$backupFile name])\r\ \n :if ([:typeof [:find \$backupFileName \$sfname]] != \"nil\") do={\r\ \n /tool fetch address=\$FTPServer port=\$FTPPort src-path=\$backupFile\ Name user=\$FTPUser mode=ftp password=\$FTPPass dst-path=\"\$FTPPath/\$bac\ kupFileName\" upload=yes\r\ \n }\r\ \n}\r\ \n\r\ \n:delay 30s\r\ \n\r\ \n:foreach backupFile in=[/file find] do={\r\ \n :if ([:typeof [:find [/file get \$backupFile name] \"BACKUP-\"]]!=\"ni\ l\") do={\r\ \n /file remove \$backupFile\r\ \n }\r\ \n}\r\ \n\r\ \n:log info message=\"Successfully removed Temporary Backup Files\"\r\ \n:log info message=\"Automatic Backup Completed Successfully\"" |
Далее добавим задания в scheduler для его автоматического выполнения:
1 |
/system scheduler |
1 2 3 |
add interval=1d name=backup on-event="system script run backup" policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ start-date=oct/17/2019 start-time=23:55:00 |
На этом можно заканчивать,… Читать далее »