>расстроился, что нельзя в крон повесить скрипт, написанный на тикле. :( жаль,
>очень хотелось Повесить можно. И работает это замечательно. Но есть одно "но".
У меня задача следующая:
Иногда у моей домашней циски 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
-----------------------------------------------------------------