diff options
author | Jan Hoffmann <jan@3e8.eu> | 2020-01-02 17:22:13 +0100 |
---|---|---|
committer | Jan Hoffmann <jan@3e8.eu> | 2020-01-04 00:43:57 +0100 |
commit | 26878ae8decff2b1c54a3d7717831ca32137e160 (patch) | |
tree | 74a99bce98af297989ff3f99dc67a25be4921970 /net/vnstat2/files | |
parent | e020c10eb26c0dcf05527a72cdea6bea1bbea10b (diff) |
vnstat2: add package
This introduces an additional package for version 2 of vnStat.
Signed-off-by: Jan Hoffmann <jan@3e8.eu>
Diffstat (limited to 'net/vnstat2/files')
-rw-r--r-- | net/vnstat2/files/vnstat.config | 2 | ||||
-rw-r--r-- | net/vnstat2/files/vnstat.init | 61 |
2 files changed, 63 insertions, 0 deletions
diff --git a/net/vnstat2/files/vnstat.config b/net/vnstat2/files/vnstat.config new file mode 100644 index 000000000..d8b175cf7 --- /dev/null +++ b/net/vnstat2/files/vnstat.config @@ -0,0 +1,2 @@ +config vnstat +# list interface br-lan diff --git a/net/vnstat2/files/vnstat.init b/net/vnstat2/files/vnstat.init new file mode 100644 index 000000000..122f9aab5 --- /dev/null +++ b/net/vnstat2/files/vnstat.init @@ -0,0 +1,61 @@ +#!/bin/sh /etc/rc.common + +START=60 +STOP=50 + +USE_PROCD=1 + +vnstat_option() { + sed -ne "s/^[[:space:]]*$1[[:space:]]*['\"]\([^'\"]*\)['\"].*/\1/p" \ + /etc/vnstat.conf +} + +init_database() { + local lib="$(vnstat_option DatabaseDir)" + + local database_count="$(ls "$lib" 2>/dev/null | wc -l)" + + if [ "$database_count" -eq "0" ]; then + /usr/sbin/vnstatd -n --noadd >/dev/null + fi +} + +init_ifaces() { + local cfg="$1" + + init_iface() { + local ifn="$1" + + /usr/bin/vnstat --add -i "$ifn" >/dev/null + } + + config_list_foreach "$cfg" interface init_iface + + return 1 +} + +start_service() { + init_database + + config_load vnstat + config_foreach init_ifaces vnstat + + 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 +} + +reload_service() { + config_load vnstat + config_foreach init_ifaces vnstat + + procd_send_signal vnstat +} + +service_triggers() { + procd_add_reload_trigger vnstat +} |