Jump to content
Калькуляторы

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

Здравствуйте, никак не получается у меня впихнуть в 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;

 

 

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

Share this post


Link to post
Share on other sites

разобрался

 

готовый скрипт для записи в систему из терминала , делает резервные копии конфигурации на 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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.