Запуск сценариев по событию
From DD-WRT Wiki
Revision as of 21:22, 16 March 2011 (edit) Horinf (Talk | contribs) (→Введение) ← Previous diff |
Revision as of 20:30, 22 June 2012 (edit) (undo) Glenn (Talk | contribs) (+ Category:Scripts/ru) Next diff → |
||
Line 71: | Line 71: | ||
~# nvram commit | ~# nvram commit | ||
</pre> | </pre> | ||
+ | |||
+ | [[Category:Scripts/ru]] |
Revision as of 20:30, 22 June 2012
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 Button|SES/AOSS/EZ-SETUP button] нажатии |
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