Ладно, я наконец-то сдался с этим.
Когда выполняешь команду /system upgrade upgrade-package-source, она запрашивает:
[admin@Mikrotik] > /system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate password:
← ВОТ ЭТА ЧАСТЬ, С КОТОРОЙ У МЕНЯ ПРОБЛЕМЫ ПРИ ПИСЬМЕ СКРИПТА, И ТАМ НЕТ ВАРИАНТА SET PASSWORD.
Собственно, в чём проблема. Нет команды, чтобы добавить, изменить или как-то задать пароль во время или после этого шага. Это делает автоматическую передачу пароля в скрипте пока невозможной. Можно редактировать только имя и источник. Если просто скопировать и вставить в терминал:
/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate p4$$w0RD — тогда всё работает. Но если тот же код поместить в /system script — не работает.
Есть идеи?
Вот мой текущий (нерабочий) скрипт, где я пытался использовать \r\n. Пробовал разные варианты, в том числе открывал созданный скрипт в GUI и вставлял пароль на второй строке:
/system script add name=pkgsource source={/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate \r\n p4$$w0RD}
Вот что я пытаюсь сделать с самого начала и до конца, если кому интересно. В общем, добавляю два скрипта. Первый задаёт сервер автообновления, второй проверяет наличие обновлений прошивки и ставит их, если нужно.
Если кто скажет, что надо просто копировать и вставлять в командную строку, то я отвечу — у меня около 300 роутеров, так что это не вариант.
#Remove Package Source Entry
foreach i in=[/system upgrade upgrade-package-source find] do={/system upgrade upgrade-package-source remove $i;}
#Remove All Scripts
foreach i in=[/system script find] do={/system script remove $i;}
#Upgrade Package Source
/system script add name=pkgsource source={/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate \r\n p4$$w0RD}
#Upgrade Script
/system script add name=upgrade source={/system upgrade refresh; :delay 10; :if ([/system upgrade get [/system upgrade find source=1.1.1.1] status]!="installed") do={/system upgrade download-all reboot-after-download=yes}}
#Run Upgrade Scripts
/system script run pkgsource
/system script run upgrade
Когда выполняешь команду /system upgrade upgrade-package-source, она запрашивает:
[admin@Mikrotik] > /system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate password:
← ВОТ ЭТА ЧАСТЬ, С КОТОРОЙ У МЕНЯ ПРОБЛЕМЫ ПРИ ПИСЬМЕ СКРИПТА, И ТАМ НЕТ ВАРИАНТА SET PASSWORD.
Собственно, в чём проблема. Нет команды, чтобы добавить, изменить или как-то задать пароль во время или после этого шага. Это делает автоматическую передачу пароля в скрипте пока невозможной. Можно редактировать только имя и источник. Если просто скопировать и вставить в терминал:
/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate p4$$w0RD — тогда всё работает. Но если тот же код поместить в /system script — не работает.
Есть идеи?
Вот мой текущий (нерабочий) скрипт, где я пытался использовать \r\n. Пробовал разные варианты, в том числе открывал созданный скрипт в GUI и вставлял пароль на второй строке:
/system script add name=pkgsource source={/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate \r\n p4$$w0RD}
Вот что я пытаюсь сделать с самого начала и до конца, если кому интересно. В общем, добавляю два скрипта. Первый задаёт сервер автообновления, второй проверяет наличие обновлений прошивки и ставит их, если нужно.
Если кто скажет, что надо просто копировать и вставлять в командную строку, то я отвечу — у меня около 300 роутеров, так что это не вариант.
#Remove Package Source Entry
foreach i in=[/system upgrade upgrade-package-source find] do={/system upgrade upgrade-package-source remove $i;}
#Remove All Scripts
foreach i in=[/system script find] do={/system script remove $i;}
#Upgrade Package Source
/system script add name=pkgsource source={/system upgrade upgrade-package-source add address=1.1.1.1 user=mtupdate \r\n p4$$w0RD}
#Upgrade Script
/system script add name=upgrade source={/system upgrade refresh; :delay 10; :if ([/system upgrade get [/system upgrade find source=1.1.1.1] status]!="installed") do={/system upgrade download-all reboot-after-download=yes}}
#Run Upgrade Scripts
/system script run pkgsource
/system script run upgrade
