From 96ae89c8014e6bfff61797c031f8c8e7f45b98f8 Mon Sep 17 00:00:00 2001 From: Martin Blumenstingl Date: Sun, 23 Jul 2017 12:01:10 +0200 Subject: [PATCH] net/vnstat: enable auto-respawn when vnstatd crashes Originally this was indended as a fix for devices without RTC support which do not have the correct time set after a reboot (until ntp is able to update the system time). vnstat checks if there is a time difference between the latest entry in the database and detects that the system time is incorrect. In this case vnstat does not start (to prevent database corruption), the following message is reported instead: 'Error: Interface "..." has previous update date too much in the future, exiting.' Once we have network connectivity (and ntp has updated the system time) vnstat starts correctly though. vnstat 1.18 fixes this by waiting a few minutes (instead of exiting) and the following message is logged: "Latest database update is in the future (db: 2018-04-28 08:39:11 > now: 2018-04-28 08:07:18). Giving the system clock up to 5 minutes to sync before continuing." This still adds a procd respawn trigger to let procd automatically restart vnstat in case: - vnstat it crashes - no valid system time is received for a long time (no network connectivity, broken NTP servers, ...) Signed-off-by: Martin Blumenstingl --- net/vnstat/Makefile | 2 +- net/vnstat/files/vnstat.init | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/net/vnstat/Makefile b/net/vnstat/Makefile index 1a526fd92e..e69b5b0367 100644 --- a/net/vnstat/Makefile +++ b/net/vnstat/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=vnstat PKG_VERSION:=1.18 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://humdi.net/vnstat diff --git a/net/vnstat/files/vnstat.init b/net/vnstat/files/vnstat.init index cc9cdc7cc1..bfd99f8ae1 100644 --- a/net/vnstat/files/vnstat.init +++ b/net/vnstat/files/vnstat.init @@ -73,6 +73,7 @@ start_service() { 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 }