|
|
@ -3,25 +3,21 @@ |
|
|
|
|
|
|
|
START=99 |
|
|
|
|
|
|
|
USE_PROCD=1 |
|
|
|
|
|
|
|
vnstat_option() { |
|
|
|
sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" \ |
|
|
|
/etc/vnstat.conf |
|
|
|
} |
|
|
|
|
|
|
|
start() { |
|
|
|
start_service() { |
|
|
|
local lib="$(vnstat_option DatabaseDir)" |
|
|
|
local pid="$(vnstat_option PidFile)" |
|
|
|
|
|
|
|
[ -n "$lib" ] || { |
|
|
|
echo "Error: No DatabaseDir set in vnstat.conf" >&2 |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
|
|
|
|
[ -n "$pid" ] || { |
|
|
|
echo "Error: No PidFile set in vnstat.conf" >&2 |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
|
|
|
|
mkdir -p "$lib" |
|
|
|
|
|
|
|
init_ifaces() { |
|
|
@ -72,18 +68,19 @@ start() { |
|
|
|
config_load vnstat |
|
|
|
config_foreach init_ifaces vnstat |
|
|
|
|
|
|
|
SERVICE_PID_FILE="${pid}" |
|
|
|
service_start /usr/sbin/vnstatd -d |
|
|
|
procd_open_instance |
|
|
|
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() { |
|
|
|
local pid="$(vnstat_option PidFile)" |
|
|
|
|
|
|
|
[ -n "$pid" ] || { |
|
|
|
echo "Error: No PidFile set in vnstat.conf" >&2 |
|
|
|
exit 1 |
|
|
|
} |
|
|
|
reload_service() { |
|
|
|
procd_send_signal vnstat |
|
|
|
} |
|
|
|
|
|
|
|
SERVICE_PID_FILE="${pid}" |
|
|
|
service_stop /usr/sbin/vnstatd |
|
|
|
service_triggers() { |
|
|
|
procd_add_reload_trigger vnstat |
|
|
|
} |