aboutsummaryrefslogtreecommitdiff
path: root/net/vnstat2/files
diff options
context:
space:
mode:
authorJan Hoffmann <jan@3e8.eu>2020-01-02 17:22:13 +0100
committerJan Hoffmann <jan@3e8.eu>2020-01-04 00:43:57 +0100
commit26878ae8decff2b1c54a3d7717831ca32137e160 (patch)
tree74a99bce98af297989ff3f99dc67a25be4921970 /net/vnstat2/files
parente020c10eb26c0dcf05527a72cdea6bea1bbea10b (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.config2
-rw-r--r--net/vnstat2/files/vnstat.init61
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
+}