WikiDevi.Wi-Cat.RU:DD-WRT/Script Execution

From WikiDevi.Wi-Cat.RU
Jump to navigation Jump to search

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

There are four different directories DD-WRT searches for scripts, these are

  • /etc/config/ (found to be read only)
  • /jffs/etc/config/
  • /mmc/etc/config/
  • /tmp/etc/config/

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.
.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
.sesbutton is executed when the SES/AOSS/EZ-SETUP button is pressed

Remember to change permissions on any script files using chmod 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 )

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.

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.

See Also