diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-06 04:04:19 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-11-06 04:04:19 +0100 |
commit | 6cf7f01256c39677a0a5561ebca60e8def9d6d7e (patch) | |
tree | 9751616a6653806d6703da369616d74e38f8b785 /examples/var_service/ifplugd_if | |
parent | 85bb843f47342b19c4f0814331c1f4c78b0011ad (diff) |
adding example runit-style service directory
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'examples/var_service/ifplugd_if')
-rwxr-xr-x | examples/var_service/ifplugd_if/ifplugd_handler | 15 | ||||
-rwxr-xr-x | examples/var_service/ifplugd_if/log/run | 21 | ||||
-rwxr-xr-x | examples/var_service/ifplugd_if/p_log | 4 | ||||
-rwxr-xr-x | examples/var_service/ifplugd_if/run | 32 | ||||
-rwxr-xr-x | examples/var_service/ifplugd_if/w_log | 4 |
5 files changed, 76 insertions, 0 deletions
diff --git a/examples/var_service/ifplugd_if/ifplugd_handler b/examples/var_service/ifplugd_if/ifplugd_handler new file mode 100755 index 000000000..4962fcf98 --- /dev/null +++ b/examples/var_service/ifplugd_if/ifplugd_handler @@ -0,0 +1,15 @@ +#!/bin/sh +# parameters: +# $1: interface +# $2: state + +if test -d "/var/service/dhcp_$1"; then + if test x"$2" = x"down"; then + echo "Downing /var/service/dhcp_$1" + sv d "/var/service/dhcp_$1" + fi + if test x"$2" = x"up"; then + echo "Upping /var/service/dhcp_$1" + sv u "/var/service/dhcp_$1" + fi +fi diff --git a/examples/var_service/ifplugd_if/log/run b/examples/var_service/ifplugd_if/log/run new file mode 100755 index 000000000..560d1b19f --- /dev/null +++ b/examples/var_service/ifplugd_if/log/run @@ -0,0 +1,21 @@ +#!/bin/sh + +user=logger + +logdir="/var/log/service/`(cd ..;basename $PWD)`" +mkdir -p "$logdir" 2>/dev/null +chown -R "$user": "$logdir" +chmod -R go-rwxst,u+rwX "$logdir" +rm logdir +ln -s "$logdir" logdir + +# make this dir accessible to logger +chmod a+rX . + +exec >/dev/null +exec 2>&1 +exec \ +env - PATH="$PATH" \ +softlimit \ +setuidgid "$user" \ +svlogd -tt "$logdir" diff --git a/examples/var_service/ifplugd_if/p_log b/examples/var_service/ifplugd_if/p_log new file mode 100755 index 000000000..a2521be05 --- /dev/null +++ b/examples/var_service/ifplugd_if/p_log @@ -0,0 +1,4 @@ +#!/bin/sh + +cd log/logdir || exit 1 +cat @* current | $PAGER diff --git a/examples/var_service/ifplugd_if/run b/examples/var_service/ifplugd_if/run new file mode 100755 index 000000000..44ddbc48d --- /dev/null +++ b/examples/var_service/ifplugd_if/run @@ -0,0 +1,32 @@ +#!/bin/sh + +exec 2>&1 +exec </dev/null + +pwd="$PWD" + +if="${PWD##*/ifplugd_}" + +echo "* Starting ifplugd [$$]" +exec \ +env - PATH="$PATH" \ +softlimit \ +setuidgid root \ +ifplugd -apq -n -s -i "$if" -r "$pwd/ifplugd_handler" + +#-n Do not daemonize +#-s Do not log to syslog +#-i IFACE Interface +#-f/-F Treat link detection error as link down/link up (otherwise exit on error) +#-a Do not up interface automatically +#-M Monitor creation/destruction of interface (otherwise it must exist) +#-r PROG Script to run +#-x ARG Extra argument for script +#-I Dont exit on nonzero exit code from script +#-p Dont run script on daemon startup +#-q Dont run script on daemon quit +#-l Run script on startup even if no cable is detected +#-t SECS Poll time in seconds +#-u SECS Delay before running script after link up +#-d SECS Delay after link down +#-m MODE API mode (mii, priv, ethtool, wlan, auto) diff --git a/examples/var_service/ifplugd_if/w_log b/examples/var_service/ifplugd_if/w_log new file mode 100755 index 000000000..34b19b373 --- /dev/null +++ b/examples/var_service/ifplugd_if/w_log @@ -0,0 +1,4 @@ +#!/bin/sh + +cd log/logdir || exit 1 +watch -n2 'w=`ttysize w`; h=`ttysize h`; tail -$((h-3)) current 2>&1 | cut -b0-$((w-2))' |