luci/modules/luci-base/root/sbin/luci-reload

46 lines
924 B
Text
Raw Normal View History

2008-09-06 13:51:51 +00:00
#!/bin/sh
. /lib/functions.sh
2008-09-06 13:51:51 +00:00
apply_config() {
config_get init "$1" init
config_get exec "$1" exec
config_get test "$1" test
echo "$2" > "/var/run/luci-reload-status"
[ -n "$init" ] && reload_init "$2" "$init" "$test"
[ -n "$exec" ] && reload_exec "$2" "$exec" "$test"
2008-09-06 13:51:51 +00:00
}
reload_exec() {
local service="$1"
local ok="$3"
set -- $2
local cmd="$1"; shift
[ -x "$cmd" ] && {
echo "Reloading $service... "
( $cmd "$@" ) 2>/dev/null 1>&2
[ -n "$ok" -a "$?" != "$ok" ] && echo '!!! Failed to reload' $service '!!!'
2008-09-06 13:51:51 +00:00
}
}
reload_init() {
[ -x /etc/init.d/$2 ] && /etc/init.d/$2 enabled && {
2008-09-06 14:31:17 +00:00
echo "Reloading $1... "
/etc/init.d/$2 reload >/dev/null 2>&1
[ -n "$3" -a "$?" != "$3" ] && echo '!!! Failed to reload' $1 '!!!'
2008-09-06 13:51:51 +00:00
}
}
lock "/var/run/luci-reload"
2008-09-06 13:51:51 +00:00
config_load ucitrack
for i in $*; do
2008-09-06 16:27:40 +00:00
config_foreach apply_config $i $i
done
rm -f "/var/run/luci-reload-status"
lock -u "/var/run/luci-reload"