Страница 1 из 1

Скрипты в Микротике.

Добавлено: 02 дек 2010, 16:26
rostov_a
Доброго времени суток!
Предлагаю тему для обмена и публикации скриптов для RouterOS. А то лазить по разным сайтам порой утомляет. Надеюсь админы прилепят.
Начну пожалуй.
Бекап конфига, отсыл его почтой.

Код: Выделить всё

global backup ([/system identity get name]  . "-" . [:pick [/system clock get date] 4 6 ])
system backup save name=$backup;
:log info ("Ждем 30 сек перед отправкой бекапа")
:delay 00:00:30;
:log info ("Отправляем")
tool e-mail send from=от_кого to кому file=$backup server адрес_почтового_сервера;

Re: Скрипты в Микротике.

Добавлено: 02 дек 2010, 16:30
rostov_a
Скрипт для DDNS для Changeip.com

Код: Выделить всё

:global "ddns-user" "user_name"
:global "ddns-pass" "password"
:global "ddns-host" "host"
:global "ddns-interface" "connection_name"
#получаем текуший ip
:global "ddns-ip" [ /ip address get [/ip address find interface=$"ddns-interface"] address ]
#отсекаем не нужно, от полученного ипа

Re: Скрипты в Микротике.

Добавлено: 02 дек 2010, 16:31
rostov_a
Продолжение верхнего скрипта:

Код: Выделить всё

:global "reg-ip" [:pick $"ddns-ip" 0 ([:len $"ddns-ip"]-3) ]
#получаем старый зарегенный ip
:global "register-ip" [ /resolve $"ddns-host"]
#выводим оба ипа, тут можно закоментить. я делал для проверки.
:log info $"ddns-ip"
:log info $"register-ip"
:log info $"reg-ip"

Re: Скрипты в Микротике.

Добавлено: 02 дек 2010, 16:32
rostov_a
Ребят это не серьезно, ограничение 600 символов. Опять так продолжение.

Код: Выделить всё

:global "reg-ip" [:pick $"ddns-ip" 0 ([:len $"ddns-ip"]-3) ]
#получаем старый зарегенный ip
:global "register-ip" [ /resolve $"ddns-host"]
#выводим оба ипа, тут можно закоментить. я делал для проверки.
:log info $"ddns-ip"
:log info $"register-ip"
:log info $"reg-ip"

Re: Скрипты в Микротике.

Добавлено: 02 дек 2010, 16:33
rostov_a

Код: Выделить всё

Сравниваем, если одинаковые, то просто сообщение в лог, можно убрать или заменить, если разные, то регим новый ип.
:if ($"reg-ip"=$"register-ip") do={:log info "Work!"} else={ :log info [ /tool dns-update name=$"ddns-host" address=$"reg-ip" key-name=$"ddns-user" key=$"ddns-pass" ] }