Перейти к содержимому
Калькуляторы

Запись скрипта в 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;

 

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

разобрался

 

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

 

Изменено пользователем SLAVCHIKS

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Мэтр, похоже, ведет речь про 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.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.