Script Execution
From DD-WRT Wiki
Revision as of 09:49, 26 March 2007 (edit) Cyberde (Talk | contribs) (First version of this article) ← Previous diff |
Current revision (06:01, 24 December 2019) (edit) (undo) Atatob (Talk | contribs) m (Add language list) |
||
(25 intermediate revisions not shown.) | |||
Line 1: | Line 1: | ||
- | =Introduction= | + | {{Languages|Script Execution}} |
- | Sometimes you want | + | You are here: '''[[Main_Page|DD-WRT wiki mainpage]] / [[Index:Scripting|Scripting]] / Script Execution |
+ | ==Introduction== | ||
+ | Sometimes you want scripts to be executed automatically when something happens, this article explains how to make sure scripts get executed at a certain point. | ||
- | + | ==General Information== | |
- | =General | + | |
There are four different directories DD-WRT searches for scripts, these are | There are four different directories DD-WRT searches for scripts, these are | ||
- | + | */etc/config/ | |
- | + | */jffs/etc/config/ | |
- | + | */mmc/etc/config/ | |
- | + | */tmp/etc/config/ | |
- | + | ==Script Types== | |
- | =Script | + | You need to add an extension to the script if placed in one of the previous folders. Every extension has its own meaning. |
- | You need to add an extension to the script if placed in one of the previous folders. Every extension has | + | |
Line 20: | Line 20: | ||
|- | |- | ||
| .startup | | .startup | ||
- | | will be executed on system startup, normally boot-time and | + | | will be executed on system startup, normally boot-time and '''before''' the firewall is configured. |
+ | |- | ||
+ | | .prewall | ||
+ | | will be executed whenever the WAN interface goes up and '''before''' the firewall. | ||
|- | |- | ||
| .wanup | | .wanup | ||
- | | will be executed whenever | + | | will be executed whenever the WAN interface goes up and '''after''' the firewall. |
|- | |- | ||
| .if | | .if | ||
- | | will be executed whenever | + | | will be executed whenever any interface goes up and '''after''' the firewall. (no longer in source code, must be deleted) |
|- | |- | ||
| .ipup | | .ipup | ||
- | |is run when | + | |is run when PPP connection is reestablished after a disconnect and '''after''' the firewall. |
|- | |- | ||
| .ipdown | | .ipdown | ||
- | | is run when a | + | | is run when a PPP connection has been shut down. (no longer in source code, must be deleted?) |
|- | |- | ||
| .sesbutton | | .sesbutton | ||
- | | is executed when the SES/AOSS/EZ-SETUP button is pressed | + | | is executed when the [[SES Button|SES/AOSS/EZ-SETUP button]] is pressed |
|} | |} | ||
+ | Remember to change permissions on any script files using chmod (chmod +x script_name) to permit execution. | ||
+ | Scripts with .wanup may be run several times when the router boots. ( see http://www.dd-wrt.com/phpBB2/viewtopic.php?p=433984 ). People using WinSCP to transfer files to their router can right click on the filename after uploading and select "Properties" to change permissions. | ||
- | = | + | ==Execute Scripts with a Different Extension or in a Different Folder== |
+ | If you want to execute scripts with a different extension or those that are located in an other folder you can create this script | ||
+ | <pre> | ||
+ | for I in `/bin/ls /jffs/etc/config/*.myextension`;do | ||
+ | sh $I & | ||
+ | done | ||
+ | </pre> | ||
+ | Of course you need to change the path (/jffs/etc/config) and the extension itself to match your desire. | ||
- | + | ==How It Works== | |
+ | The command ''sh /jffs/etc/config/*.myextension'' will execute every script ending in .myextension found in the /jffs/etc/config directory. By setting this as the rc_startup value, your *.myextension scripts will load every time the router boots. | ||
- | [[Startup Scripts]] | + | ==Links== |
+ | [[LED Scripts]]<br> | ||
+ | [[Startup Scripts]]<br> | ||
+ | [[Useful Scripts]] | ||
- | [[Category: | + | [[Category:Scripts]] |
Current revision
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
You are here: DD-WRT wiki mainpage / Scripting / Script Execution
Contents |
[edit] Introduction
Sometimes you want scripts to be executed automatically when something happens, this article explains how to make sure scripts get executed at a certain point.
[edit] General Information
There are four different directories DD-WRT searches for scripts, these are
- /etc/config/
- /jffs/etc/config/
- /mmc/etc/config/
- /tmp/etc/config/
[edit] Script Types
You need to add an extension to the script if placed in one of the previous folders. Every extension has its own meaning.
Extension | Explanation |
.startup | will be executed on system startup, normally boot-time and before the firewall is configured. |
.prewall | will be executed whenever the WAN interface goes up and before the firewall. |
.wanup | will be executed whenever the WAN interface goes up and after the firewall. |
.if | will be executed whenever any interface goes up and after the firewall. (no longer in source code, must be deleted) |
.ipup | is run when PPP connection is reestablished after a disconnect and after the firewall. |
.ipdown | is run when a PPP connection has been shut down. (no longer in source code, must be deleted?) |
.sesbutton | is executed when the SES/AOSS/EZ-SETUP button is pressed |
Remember to change permissions on any script files using chmod (chmod +x script_name) to permit execution. Scripts with .wanup may be run several times when the router boots. ( see http://www.dd-wrt.com/phpBB2/viewtopic.php?p=433984 ). People using WinSCP to transfer files to their router can right click on the filename after uploading and select "Properties" to change permissions.
[edit] Execute Scripts with a Different Extension or in a Different Folder
If you want to execute scripts with a different extension or those that are located in an other folder you can create this script
for I in `/bin/ls /jffs/etc/config/*.myextension`;do sh $I & done
Of course you need to change the path (/jffs/etc/config) and the extension itself to match your desire.
[edit] How It Works
The command sh /jffs/etc/config/*.myextension will execute every script ending in .myextension found in the /jffs/etc/config directory. By setting this as the rc_startup value, your *.myextension scripts will load every time the router boots.