Запуск сценариев по событию

From DD-WRT Wiki

(Difference between revisions)
Jump to: navigation, search
Revision as of 06:02, 24 December 2019 (edit)
Atatob (Talk | contribs)
m (Add language list)
← Previous diff
Revision as of 06:05, 24 December 2019 (edit) (undo)
Atatob (Talk | contribs)
m (Изменил ссылку на статью "Переназначение кнопок маршрутизатора")
Next diff →
Line 40: Line 40:
|- |-
|. sesbutton |. sesbutton
-| выполняется, при [[http://www.dd-wrt.com/wiki/index.php/SES_Button SES Button|SES/AOSS/EZ-SETUP button]] нажатии+| выполняется, при нажатии кнопки [[Переназначение кнопок маршрутизатора|SES (или AOSS, EZ-SETUP)]] на маршрутизаторе
|} |}

Revision as of 06:05, 24 December 2019

Contents

Введение

Программа на языке shell часто называют скриптами или сценариями(Script). С помощью shell Вы можете создавать сложные программы, конструируя их, как из кирпичиков, из существующих утилит UNIX. Интерпретатор считывает строки из файла-скрипта и выполняет их, как если бы они были введены пользователем в командной строке. Иногда необходимо, чтобы сценарии выполнялись автоматически, эта статья объясняет, что происходит в момент запуска скрипта.

Общая информация

По умолчанию DD-WRT осуществляет поиск в 4 директориях:

  • /etc/config/
  • /jffs/etc/config/
  • /mmc/etc/config/
  • /tmp/etc/config/

Типы сценария

Для правильной работы1 каждое приложение помещённое в одну из директорий должно иметь расширение..
Каждое расширение имеет значение.

Расширение 'Значение
.startup будет выполняться при системном запуске, обычно время начальной загрузки иперед настройкой брандмауэра.
.prewall будет выполняться всякий раз, когда интерфейс WAN восстанавливает работоспособность и перед брандмауэром.
. wanup будет выполняться всякий раз, когда интерфейс WAN восстанавливает работоспособность и после брандмауэра.2
.if будет выполняться всякий раз, когда любой из интерфейсов восстанавливает работоспособность и после брандмауэра.
. ipup запускается, когда соединение PPP восстановлено после разъединения и после брандмауэра.
. ipdown запускается, когда соединение PPP было выключено
. sesbutton выполняется, при нажатии кнопки SES (или AOSS, EZ-SETUP) на маршрутизаторе

1Все файлы должны должны быть исполняемыми, к каждому из которых устанавливаються права доступа. Для этого используется команда chmod(1).
2Сценарии .wanup могут выполняться несколько раз, во время загрузки маршрутизатора. [1]

Добавление директорий или сценириев

Для выполнения сценария с различными расширениями или теми, которые расположены в другом каталоге, можно создать скрипт.3

for I in `/bin/ls /jffs/etc/config/*.myextension`;do
   sh $I &
done

Команда sh/jffs/etc/config/*.myextension выполнит каждый сценарий, заканчивающийся на .myextension, найденном в каталоге /jffs/etc/config.

3Меняем путь (/jffs/etc/config) и расширение на свои.

Автозагрузки при старте маршрутизатора

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

~# nvram set rc_startup="/jffs/etc/config/*.myextension"
~# nvram commit
~# echo "/jffs/dir/my_scripts &" >> /jffs/etc/config/*.myextension

Для задержки используется ключ ="sleep"

~# nvram set rc_startup="sleep 30; /jffs/etc/config/*.myextension"
~# nvram commit