Merge pull request #4615 from xdarklight/vnstat-port-init-to-procd
vnstat: port init-script to procd and enable auto-respawn
This commit is contained in:
commit
58eb061f33
2 changed files with 17 additions and 20 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=vnstat
|
PKG_NAME:=vnstat
|
||||||
PKG_VERSION:=1.18
|
PKG_VERSION:=1.18
|
||||||
PKG_RELEASE:=1
|
PKG_RELEASE:=2
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||||
PKG_SOURCE_URL:=http://humdi.net/vnstat
|
PKG_SOURCE_URL:=http://humdi.net/vnstat
|
||||||
|
|
|
@ -3,25 +3,21 @@
|
||||||
|
|
||||||
START=99
|
START=99
|
||||||
|
|
||||||
|
USE_PROCD=1
|
||||||
|
|
||||||
vnstat_option() {
|
vnstat_option() {
|
||||||
sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" \
|
sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" \
|
||||||
/etc/vnstat.conf
|
/etc/vnstat.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
start_service() {
|
||||||
local lib="$(vnstat_option DatabaseDir)"
|
local lib="$(vnstat_option DatabaseDir)"
|
||||||
local pid="$(vnstat_option PidFile)"
|
|
||||||
|
|
||||||
[ -n "$lib" ] || {
|
[ -n "$lib" ] || {
|
||||||
echo "Error: No DatabaseDir set in vnstat.conf" >&2
|
echo "Error: No DatabaseDir set in vnstat.conf" >&2
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -n "$pid" ] || {
|
|
||||||
echo "Error: No PidFile set in vnstat.conf" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
mkdir -p "$lib"
|
mkdir -p "$lib"
|
||||||
|
|
||||||
init_ifaces() {
|
init_ifaces() {
|
||||||
|
@ -72,18 +68,19 @@ start() {
|
||||||
config_load vnstat
|
config_load vnstat
|
||||||
config_foreach init_ifaces vnstat
|
config_foreach init_ifaces vnstat
|
||||||
|
|
||||||
SERVICE_PID_FILE="${pid}"
|
procd_open_instance
|
||||||
service_start /usr/sbin/vnstatd -d
|
procd_set_param stdout 1
|
||||||
|
procd_set_param stderr 1
|
||||||
|
procd_set_param command /usr/sbin/vnstatd --nodaemon
|
||||||
|
procd_set_param file /etc/vnstat.conf
|
||||||
|
procd_set_param respawn
|
||||||
|
procd_close_instance
|
||||||
}
|
}
|
||||||
|
|
||||||
stop() {
|
reload_service() {
|
||||||
local pid="$(vnstat_option PidFile)"
|
procd_send_signal vnstat
|
||||||
|
|
||||||
[ -n "$pid" ] || {
|
|
||||||
echo "Error: No PidFile set in vnstat.conf" >&2
|
|
||||||
exit 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SERVICE_PID_FILE="${pid}"
|
service_triggers() {
|
||||||
service_stop /usr/sbin/vnstatd
|
procd_add_reload_trigger vnstat
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue