URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 13777
[ Назад ]

Исходное сообщение
"TCL"

Отправлено Milon , 14-Июн-07 22:42 
в маршрутизаторах Cisco есть мощнейший инструмент администратора - встроенный язык TCL. перерыл циско.ком,но так и не нашел, как можно вызвать скрипт написанный ранее. можно через tclsh, но это не очень интересно. нужно по kron scheduler'у, но как?? допустим, я написал скрипт, сохранил его на флешку, а как его достать оттуда и заставить исполняться??
может кто подскажет? может иос какой хитрый есть?

Содержание

Сообщения в этом обсуждении
"TCL"
Отправлено Pcom , 15-Июн-07 16:52 
>в маршрутизаторах Cisco есть мощнейший инструмент администратора - встроенный язык TCL. перерыл
>циско.ком,но так и не нашел, как можно вызвать скрипт написанный ранее.
>можно через tclsh, но это не очень интересно. нужно по kron
>scheduler'у, но как?? допустим, я написал скрипт, сохранил его на флешку,
>а как его достать оттуда и заставить исполняться??
>может кто подскажет? может иос какой хитрый есть?


Добрый день!

Если не ошибаюсь в 2005 (может в 2006) году на CiscoExpo был целый доклад про интсрументарий маршрутизатора (работа с tcl и т.д.), я думаю, на сайте вы сможете найти прзентацию.


"TCL"
Отправлено Milon , 15-Июн-07 17:36 
>>в маршрутизаторах Cisco есть мощнейший инструмент администратора - встроенный язык TCL. перерыл
>>циско.ком,но так и не нашел, как можно вызвать скрипт написанный ранее.
>>можно через tclsh, но это не очень интересно. нужно по kron
>>scheduler'у, но как?? допустим, я написал скрипт, сохранил его на флешку,
>>а как его достать оттуда и заставить исполняться??
>>может кто подскажет? может иос какой хитрый есть?
>
>
>Добрый день!
>
>Если не ошибаюсь в 2005 (может в 2006) году на CiscoExpo был
>целый доклад про интсрументарий маршрутизатора (работа с tcl и т.д.), я
>думаю, на сайте вы сможете найти прзентацию.

спасибо, поищу еще


"TCL"
Отправлено Олег , 15-Июн-07 17:40 

>спасибо, поищу еще

Если найдёте что-то интересное - поделитесь, плз.


"TCL"
Отправлено Milon , 19-Июн-07 08:34 
>
>>спасибо, поищу еще
>
>Если найдёте что-то интересное - поделитесь, плз.

нашел концептуальную презенташку по TCL и kron, ответившую на многие вопросы

http://www.cisco.com/global/RU/news/events/expo05/downloads/...

расстроился, что нельзя в крон повесить скрипт, написанный на тикле. :( жаль, очень хотелось


"TCL"
Отправлено ip , 02-Сен-07 12:46 
>расстроился, что нельзя в крон повесить скрипт, написанный на тикле. :( жаль,
>очень хотелось

Повесить можно. И работает это замечательно. Но есть одно "но".

У меня задача следующая:
Иногда у моей домашней циски 871W пропадает аутентификация по радио.
И радиоинтерфейс может не подниматься по нескольку часов. Спасает только перезагрузка или "передергивание" интерфейса.
Я попытался решить задачу следующим образом. Каждую минуту запускаю TCL скрипт с флэша.
Если радиоинтерфейс не ассоциирован с точкой доступа -- то скрипт его "передергивает". Если ассоциация есть -- то ничего не происходить.
Все работает на ура. Но... только один раз. После первого успешного запуска скрипта kron удаляет policy-list... Над этим пока бьюсь долго. Хочу сделать так, чтобы не удалял.

Вот пример дебага, где ясно видно, как удаляется policy-list:

Sep  2 19:30:37.524: Call parse_cmd 'tclsh flash:1.tcl'
Sep  2 19:30:37.660: %LINK-3-UPDOWN: Interface Dot11Radio0, changed state to dow
n
Sep  2 19:30:37.668: Kron CLI return 0
**CLI 'tclsh flash:1.tcl':
Sep  2 19:30:37.668: Major 4, Minor 7
Sep  2 19:30:37.668: Respond to end of CLI Process
Sep  2 19:30:37.668: Forcing Removing Policy LINK
Sep  2 19:30:37.672: Removing Policy LINK
Sep  2 19:30:37.672:     Removing CLI 'tclsh flash:1.tcl'
Sep  2 19:30:37.672: Done Removing Policy LINK

Мой конфиг:

!
kron occurrence LINK in 1 recurring
policy-list LINK
!
kron policy-list LINK
cli tclsh flash:1.tcl
!


Сам tcl файл следующего вида:

-----------------------------------------------------------------
proc init {} {
    global status
    set status [exec "show dot11 associations | inc Assoc"]
    if {$status == ""} {
        ios_config "interface dot11Radio 0" "shutdown" "no shutdown"
    }
}
init
-----------------------------------------------------------------