Jump to content

Запись скрипта в Mikrotik командой из терминала, как сделать?


Recommended Posts

Posted

Здравствуйте, никак не получается у меня впихнуть в source тело скрипта

 

скрипт создается, только имя с пустым полем, пробовал разные функции, нужно, чтобы вводился с терминала в winbox

 

команда

 

/system script
add name=bakup-to-sdcard policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon

 

 

 

нужно добавить к ней source=

так чтобы в поле скрипта записался этот текст

 


:local tmpdate [/system clock get date];
:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:local month [ :pick $tmpdate 0 3 ];
:local mm ([ :find $months $month -1 ] + 1);
:if ($mm < 10) do={ :set mm ("0" . $mm); }
:local date ([:pick $tmpdate 4 6] ."-" . $mm ."-" . [:pick $tmpdate 7 11])
:local myname "router1100"
:local fname ($myname."_".$date);
:local bname ($myname."_".$date.".backup");
:local ename ($myname."_".$date.".rsc");
/system backup save name=("sd1-part1/BAK/".$"fname");
:delay 10;
/export file=("sd1-part1/BAK/".$"fname");
:delay 10;

 

 

Есть тут гуру по скриптам и термналу ?

Posted (edited)

разобрался

 

готовый скрипт для записи в систему из терминала , делает резервные копии конфигурации на sd карту каждые 15 дней - использую в RB1100

 

 

/system scheduler
add interval=2w1d name=2-Week-bakup on-event=\
    "/system script run bakup-to-sdcard" policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \
    start-date=mar/18/2023 start-time=20:00:00
/system script
add dont-require-permissions=no name=bakup-to-sdcard owner=admin policy=\
    ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\
    local tmpdate [/system clock get date];\r\
    \n:local months (\"jan\",\"feb\",\"mar\",\"apr\",\"may\",\"jun\",\"jul\",\
    \"aug\",\"sep\",\"oct\",\"nov\",\"dec\");\r\
    \n:local month [ :pick \$tmpdate 0 3 ];\r\
    \n:local mm ([ :find \$months \$month -1 ] + 1);\r\
    \n:if (\$mm < 10) do={ :set mm (\"0\" . \$mm); }\r\
    \n:local date ([:pick \$tmpdate 4 6] .\"-\" . \$mm .\"-\" . [:pick \$tmpda\
    te 7 11])\r\
    \n:local myname \"router1100\"\r\
    \n:local fname (\$myname.\"_\".\$date);\r\
    \n:local bname (\$myname.\"_\".\$date.\".backup\");\r\
    \n:local ename (\$myname.\"_\".\$date.\".rsc\");\r\
    \n/system backup save name=(\"sd1-part1/BAK/\".\$\"fname\");\r\
    \n:delay 10;\r\
    \n/export file=(\"sd1-part1/BAK/\".\$\"fname\");\r\
    \n:delay 10;"

 

Edited by SLAVCHIKS
Posted

Не надо так собирать конфигурации. Должен быть некий внешний сервер, который сам в определенное время запрашивает данные (экспорт конфига) со всех микротиков и сохраняет их в базу, а не текстовые файлы. С полученными данными легко работать и всегда можно понять, собраны данные или нет. А подобного рода скрипты могут не отработать, и никак нельзя будет это отследить.

Posted
10 часов назад, SLAVCHIKS сказал:

готовый скрипт для записи в систему из терминала , делает резервные копии конфигурации на sd карту каждые 15 дней - использую в RB1100

    \n/export file=(\"sd1-part1/BAK/\".\$\"fname\");\r\

из личного опыта - попробуйте делать не "export", а "export terse" - такой формат удобнее парсить в случае необходимости.

Posted
15 часов назад, Saab95 сказал:

export compact еще удобнее в последствии разбирать.

в очередной раз подумал, что я чего-то не знаю.

но нет, наоборот ))

"export" и "export compact" выдают идентичные текстовики конфигов на выходе. и их совершенно неудобно парсить (по крайней мере, мне - не знаю, как вам).

Posted

Нормально его разбирать, сначала поймать название раздела, после собирать и разбирать элементы с переносом строк.

 

При export terse объем самого текстового конфига увеличивается в разы, особенно если в конфиге несколько тысяч записей в каждом разделе - это сколько одинаковых приписок будет добавлено.

Posted
В 18.03.2023 в 21:14, Saab95 сказал:

и сохраняет их в базу

Я конечно извиняюсь но текстовые конфиги так и просятся под гит 😉 ну или это устаревшая технология?

Posted

Мэтр, похоже, ведет речь про Oxidized, а там как раз сама вытащенная конфигурация складывается в git, в базе хранятся параметры оборудования и доступы к нему.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...