/system script add dont-require-permissions=no name=auto-sys-restore owner=admin policy=\ ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ \_Time in minutes before script restores router configuration\r\ \n:global restoreTime 10m\r\ \n\r\ \n:if ( [ :typeof \"\$restoreTime\" ] != \"time\" ) do={\r\ \n :log warn ( \"auto-sys-restore: required time value is not specified\ \_or has incorrect value. Using default - 10 minutes\" )\r\ \n :set restoreTime 10m\r\ \n}\r\ \n\r\ \n:local cdate [ /system clock get date ] \r\ \n:local ctime [ /system clock get time ] \r\ \n:local bckpFile \"auto-sys-restore-auto\"\r\ \n\r\ \n:if ( [ :len [ file find where type=\"disk\" and name=\"flash\" ] ] != 0\ \_) do={ :set bckpFile \"flash/auto-sys-restore\" }\r\ \n:do { /system backup save dont-encrypt=yes name=\"\$bckpFile\" } on-erro\ r={ :error \"auto-sys-restore: can't create binary backup\" }\r\ \n\r\ \n/system scheduler \r\ \n :do { remove [ find name=\"auto-sys-restore-in-time\" ] } on-error=\ {} \r\ \n :do { remove [ find name=\"auto-sys-restore-after-reboot\" ] } on-e\ rror={}\r\ \n :do { add comment=\"Auto restore in time period. Generated by auto-\ sys-restore script\" \\\r\ \n\t name=\"auto-sys-restore-in-time\" \\\r\ \n\t\t start-date=\$cdate start-time=[ ( \$ctime + \$restoreTime ) ]\ \_\\\r\ \n\t\t on-event=\"/system scheduler remove [ find name=\\\"auto-sys-\ restore-after-reboot\\\" ] \\r\\n\\\r\ \n\t\t /system backup load name=\\\"\$bckpFile.backup\\\" \ password=\\\"\\\"\" disabled=no } on-error={:error \"Can't create auto-sys\ -restore-in-time scheduler\"}\r\ \n :do { add comment=\"Auto restore after reboot. Generated by auto-sy\ s-restore script\"\\\r\ \n\t name=\"auto-sys-restore-after-reboot\" \\\r\ \n\t\t start-time=startup \\\r\ \n\t\t on-event=\"/system scheduler remove [ find name=\\\"auto-sys-\ restore-in-time\\\" ] \\r\\n\\\r\ \n :delay 300 \\r\\n\\\r\ \n /system backup load name=\\\"\$bckpFile.backup\ \\\" password=\\\"\\\"\" disabled=no } on-error={:error \"Can't create aut\ o-sys-restore-after-reboot scheduler\"}\r\ \n\r\ \n:log warn ( \"auto-sys-restore: system backup restore is scheduled in \$\ restoreTime (file: \$bckpFile.backup)\" )\r\ \n:log warn ( \"auto-sys-restore: execute script no-autosys-restore to rem\ ove scheduled restore event\" )\r\ \n:put ( \"auto-sys-restore: System backup restore is scheduled in \$resto\ reTime (file: \$bckpFile.backup)\" )\r\ \n:put ( \"auto-sys-restore: execute script no-autosys-restore to remove s\ cheduled restore event\" )\r\ \n/system script\r\ \n add comment=\"This script will remove scheduled event for rollback \ system\" dont-require-permissions=no name=no-autosys-restore owner=admin p\ olicy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \\\ \r\ \n\t source=\":do { /system scheduler remove [ find name=\\\"auto-sys-\ restore-in-time\\\" ] } on-error={:error \\\"Can't remove scheduler auto-s\ ys-restore-in-time\\\"} \\r\\\r\ \n \\n:do { /system scheduler remove [ find name=\\\"auto-sy\ s-restore-after-reboot\\\" ] } on-error={:error \\\"Can't remove scheduler\ \_auto-sys-restore-after-reboot\\\"}\\r\\\r\ \n \\n:log warn \\\"restore-in-time event has been removed\\\ \"\\r\\\r\ \n\t\t\t \\n:put \\\"restore-in-time event has been removed\\\"\\r\\\r\ \n\t\t\t \\n:do { /system script remove [ find name=\\\"no-autosys-resto\ re\\\" ]} on-error={}\\r\\\r\ \n\t\t\t \\n:do { /file remove [ find name=\\\"auto-sys-restore-auto.bac\ kup\\\" ]} on-error={}\"\r\ \n\r\ \n/system script environment remove [ find name=\"restoreTime\" ]"