MikroTik scripts

  1. autoupgrade

    :local BackupPassword "PaSsWorD";
    
    /system package update
    :put "Check for Update"
    check-for-updates once as-value;
    :while ([get status] = "finding out latest version...") do={
      :put "checking.."
      :delay 1s;
    };
    
    :if ( [get status] = "New version is available") do={
      :log info "New version is available"
      :put "New version is available"  
    
      /system/backup/cloud/print as-value;
      :if ([ :len [ /system/backup/cloud/find ] ] > 0) do={
        :log info "Replace Old Backup"
        :put "Replace Old Backup"
        /system/backup/cloud/upload-file action=create-and-upload password=$BackupPassword replace=[ get ([ find ]->0) name ] as-value;
      } else={
        :log info "Creating Backup"
        :put "Creating Backup"  
        /system/backup/cloud/upload-file action=create-and-upload password=$BackupPassword as-value;
      }
    
      :log info "Starting Upgrade"
      :put "Starting Upgrade"  
      /system package update install
    }
    
  2. auto_upgrade_firmware
    :if ([/system/routerboard/get current-firmware] != [/system/routerboard/get upgrade-firmware]) do={
      /system/routerboard/upgrade;
    :delay 10s;
      /system/reboot;
    }
    
  3. reboot

    /system reboot

  4. Send my IP

    /ip dhcp-client print file=disk1/ipconfig.txt

    /tool e-mail send server="smtp.gmail.com" port=25 user="backup@gmail.com" password=Win2021 start-tls=yes to="report@gmail.com" from="backup@gmail.com" subject="ip Home" body="Home ip" file=disk1/ipconfig.txt;

  5. Удаленное включение компьютера

    /tool/wol interface=bridge1 mac=64:00:6A:56:DA:53

  6. Wifi on/off

    /interface wireless disable wlan1

    /interface wireless enable wlan1

  7. Очистить логи

    /system logging action set memory memory-lines=1

    /system logging action set memory memory-lines=1000

  8. Restore backup

    Делаем бэкап, пауза 10 минут (600 сек) и загружаем бэкап обратно.

    Логика такая.

    Запустили скрипт, он сделал бэкап.

    Дальше вы делаете какие-то настройки.

    Если вас не отключило, останавливаете скрипт.

    Если отключило, ждете, когда скрипт откатит конфиг.

    /system backup save password="secret" name=disconnect

    delay 600

    /system backup load name=disconnect.backup password="secret"

    Остановить скрипт

    /system script job remove [find script=Name_of_script]