Jump to content

Recommended Posts

Posted

Куда положить скрипт или в каком скрипте прописать ссылку на его запуск, что бы скрипт запускался при поднятии сессии PPPoE?

Posted
Куда положить скрипт или в каком скрипте прописать ссылку на его запуск, что бы скрипт запускался при поднятии сессии PPPoE?
На внешний USB-диск. Настройте opkg, он подмонтируется в /opt. При каждом подключении будет вызываться /opt/etc/ndm/wan.d/{ваш_скрипт} с параметрами https://github.com/ndmsystems/packages/wiki/Opkg-Component#ndmwand. Там проверяйте, что это PPPoE0, и вперёд.
Posted

Спасибо! Все оказалось очень просто. Работает так, как и задумывалось.

Posted

А нет возможности ловить не только поднятие, но и момент переключения между основным/резервным?

В идеале туда передавать названия откуда и куда переключилось (и причину, если возможно), например (названия с потолка):

$old_interface - с которого уходим

$new_interface - на который уходим

$reason:

ethdown - отвал физического линка

timeout - отвал VPN/PPP по таймауту

terminated - закрытие VPN/PPP сервером

pingfailed - неуспешная проверка ping check

recovery - возврат с резерва при восстановлении основного линка

Posted

wan.d вызывается каждый раз при переходе wan на новый интерфейс. Можно сохранять текущий wan в файл, чтобы знать "старый". С причиной сложнее, надо подумать.

Posted
wan.d вызывается каждый раз при переходе wan на новый интерфейс. Можно сохранять текущий wan в файл, чтобы знать "старый".

А, т.е. он все же вызывается именно при смене дефолтного маршрута, ясно. После прочтения мне казалось что вызов идет в момент поднятия любого интерфейса, а не в момент изменения главного. Тогда да, можно сохранять текущий wan в файл и сравнивать с ним.. Правильно ли я понимаю "When the internet connection is down...", что wan.d вызывается с неустановленными переменными только когда больше нет вариантов для маршрута по умолчанию, т.е. либо отвалился и резерв, либо упавшее соединение было единственным с галкой "использовать для доступа в интернет"?

Posted (edited)

Появился еще вопрос. В своем скрипте пишу в сислог с помощью logger. Если запустить скрипт руками, все нормально. Если скрипт запускается по поднятию сессии, то время в сислоге пишется с tz +0. Моя же tz +3.

upd: это похоже время до синхронизации. а разница в три часа просто совпала.

Если поставить в скрипте большой sleep, отваливается по таймауту "Opkg::Manager: /opt/etc/ndm/wan.d/myscript.sh: timed out.".

Как отловить момент синхронизации времени? Куда-нибудь писать скриптом из /opt/etc/ndm/time.d, а из wan.d ловить? Или есть способ лучше?

Edited by Guest
Posted
Появился еще вопрос. В своем скрипте пишу в сислог с помощью logger. Если запустить скрипт руками, все нормально. Если скрипт запускается по поднятию сессии, то время в сислоге пишется с tz +0. Моя же tz +3.

Сделайте в начале своего скрипта:

export TZ=`cat /etc/TZ | tail -n 1`

Posted
Как отловить момент синхронизации времени? Куда-нибудь писать скриптом из /opt/etc/ndm/time.d, а из wan.d ловить? Или есть способ лучше?

Скрипт в time.d выполняется когда в логе появляются строчки

Apr 13 19:35:28syslog
Core::System::Clock: system time has been changed.
Apr 13 19:35:28syslog
Ntp::Client: time synchronized with "0.ru.pool.ntp.org".

У меня так задействовано для пакета, которому нужно и точное время и поднятый линк.

единственное, пока не разобрался как выводить сообщения в журнал веб-интерфейса. Logger молчит...

Posted

Сделайте в начале своего скрипта:

export TZ=`cat /etc/TZ | tail -n 1`

Спасибо. Помогло. Все-таки в tz дело было.

единственное, пока не разобрался как выводить сообщения в журнал веб-интерфейса. Logger молчит...

У меня logger работает отлично. Как самое простое logger 123, так и logger -t test -p daemon.alert 'my message ' $myvar

Правда весь сислог у меня уходит на сислог сервер, но и в вебе записи видны.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.