From b5567ffd0837dd370f4b8ba0381aedb7bbd254e2 Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Mon, 9 Sep 2019 20:34:36 +0200 Subject: [PATCH] Change init and add a custom default conf for vnstat --- vnstat/Makefile | 2 +- vnstat/files/vnstat.conf | 186 +++++++++++++++++++++++++++++++++++++++ vnstat/files/vnstat.init | 33 ------- 3 files changed, 187 insertions(+), 34 deletions(-) create mode 100644 vnstat/files/vnstat.conf diff --git a/vnstat/Makefile b/vnstat/Makefile index 90b75952e..bdf3a869d 100644 --- a/vnstat/Makefile +++ b/vnstat/Makefile @@ -88,7 +88,7 @@ define Package/vnstat/install $(INSTALL_DIR) $(1)/usr/sbin $(CP) $(PKG_INSTALL_DIR)/usr/sbin/vnstatd $(1)/usr/sbin/ $(INSTALL_DIR) $(1)/etc - $(INSTALL_CONF) $(PKG_BUILD_DIR)/cfg/vnstat.conf $(1)/etc/ + $(INSTALL_CONF) ./files/vnstat.conf $(1)/etc/ $(INSTALL_DIR) $(1)/etc/config $(INSTALL_CONF) ./files/vnstat.config $(1)/etc/config/vnstat $(INSTALL_DIR) $(1)/etc/init.d diff --git a/vnstat/files/vnstat.conf b/vnstat/files/vnstat.conf new file mode 100644 index 000000000..d206b0bf4 --- /dev/null +++ b/vnstat/files/vnstat.conf @@ -0,0 +1,186 @@ +# vnStat 2.4 config file +## + +# default interface (leave empty for automatic selection) +Interface "" + +# location of the database directory +DatabaseDir "/var/lib/vnstat" + +# locale (LC_ALL) ("-" = use system locale) +Locale "-" + +# date output formats for -d, -m, -t and -w +DayFormat "%Y-%m-%d" +MonthFormat "%Y-%m" +TopFormat "%Y-%m-%d" + +# characters used for visuals +RXCharacter "%" +TXCharacter ":" +RXHourCharacter "r" +TXHourCharacter "t" + +# how units are prefixed when traffic is shown +# 0 = IEC standard prefixes (KiB/MiB/GiB...) +# 1 = old style binary prefixes (KB/MB/GB...) +# 2 = SI decimal prefixes (kB/MB/GB...) +UnitMode 0 + +# used rate unit (0 = bytes, 1 = bits) +RateUnit 1 + +# how units are prefixed when traffic rate is shown in bits +# 0 = IEC binary prefixes (Kibit/s...) +# 1 = SI decimal prefixes (kbit/s...) +RateUnitMode 1 + +# output style +# 0 = minimal & narrow, 1 = bar column visible +# 2 = same as 1 except rate in summary +# 3 = rate column visible +OutputStyle 3 + +# number of decimals to use in outputs +DefaultDecimals 2 +HourlyDecimals 1 + +# spacer for separating hourly sections (0 = none, 1 = '|', 2 = '][', 3 = '[ ]') +HourlySectionStyle 2 + +# how many seconds should sampling for -tr take by default +Sampletime 5 + +# default query mode +# 0 = normal, 1 = days, 2 = months, 3 = top, 5 = short +# 7 = hours, 8 = xml, 9 = one line, 10 = json +QueryMode 0 + +# default list output entry count (0 = all) +List5Mins 24 +ListHours 24 +ListDays 30 +ListMonths 12 +ListYears 0 +ListTop 10 + + +# vnstatd +## + +# switch to given user when started as root (leave empty to disable) +DaemonUser "" + +# switch to given group when started as root (leave empty to disable) +DaemonGroup "" + +# try to detect interface maximum bandwidth, 0 = disable feature +# MaxBandwidth will be used as fallback value when enabled +BandwidthDetection 1 + +# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature +# (unless interface specific limit is given) +MaxBandwidth 1000 + +# interface specific limits +# example 8Mbit limit for 'ethnone': +MaxBWethnone 8 + +# data retention durations (-1 = unlimited, 0 = feature disabled) +5MinuteHours 48 +HourlyDays 4 +DailyDays 62 +MonthlyMonths 25 +YearlyYears -1 +TopDayEntries 20 + +# how often (in seconds) interface data is updated +UpdateInterval 20 + +# how often (in seconds) interface status changes are checked +PollInterval 5 + +# how often (in minutes) data is saved to database +SaveInterval 5 + +# how often (in minutes) data is saved when all interface are offline +OfflineSaveInterval 30 + +# on which day should months change +MonthRotate 1 +MonthRotateAffectsYears 0 + +# filesystem disk space check (1 = enabled, 0 = disabled) +CheckDiskSpace 1 + +# how much the boot time can variate between updates (seconds) +BootVariation 15 + +# create database entries even when there is no traffic (1 = enabled, 0 = disabled) +TrafficlessEntries 1 + +# how many minutes to wait during daemon startup for system clock to +# sync time if most recent database update appears to be in the future +TimeSyncWait 5 + +# how often (in minutes) bandwidth detection is done when +# BandwidthDetection is enabled (0 = disabled) +BandwidthDetectionInterval 5 + +# force data save when interface status changes (1 = enabled, 0 = disabled) +SaveOnStatusChange 1 + +# enable / disable logging (0 = disabled, 1 = logfile, 2 = syslog) +UseLogging 2 + +# create dirs if needed (1 = enabled, 0 = disabled) +CreateDirs 1 + +# update ownership of files if needed (1 = enabled, 0 = disabled) +UpdateFileOwner 1 + +# file used for logging if UseLogging is set to 1 +LogFile "/var/log/vnstat/vnstat.log" + +# file used as daemon pid / lock file +PidFile "/var/run/vnstat/vnstat.pid" + +# 1 = 64-bit, 0 = 32-bit, -1 = old style logic, -2 = automatic detection +64bitInterfaceCounters -2 + +# use SQLite Write-Ahead Logging mode (1 = enabled, 0 = disabled) +DatabaseWriteAheadLogging 0 + +# change the setting of the SQLite "synchronous" flag +# (-1 = auto, 0 = off, 1, = normal, 2 = full, 3 = extra) +DatabaseSynchronous -1 + + +# vnstati +## + +# title timestamp format +HeaderFormat "%Y-%m-%d %H:%M" + +# show hours with rate (1 = enabled, 0 = disabled) +HourlyRate 1 + +# show rate in summary (1 = enabled, 0 = disabled) +SummaryRate 1 + +# transparent background (1 = enabled, 0 = disabled) +TransparentBg 0 + +# image colors +CBackground "FFFFFF" +CEdge "AEAEAE" +CHeader "606060" +CHeaderTitle "FFFFFF" +CHeaderDate "FFFFFF" +CText "000000" +CLine "B0B0B0" +CLineL "-" +CRx "92CF00" +CTx "606060" +CRxD "-" +CTxD "-" diff --git a/vnstat/files/vnstat.init b/vnstat/files/vnstat.init index bfd99f8ae..f1f8880d7 100644 --- a/vnstat/files/vnstat.init +++ b/vnstat/files/vnstat.init @@ -18,48 +18,15 @@ start_service() { exit 1 } - mkdir -p "$lib" - init_ifaces() { local cfg="$1" local url lnk init_iface() { local ifn="$1" - - if [ -n "$url" ]; then - local try=0 - local max=3 - local hostname="$(cat /proc/sys/kernel/hostname)" - - while [ $((++try)) -le $max ]; do - if wget -q -O "$lib/$ifn" "$url/${hostname}_$ifn" 2>/dev/null && [ -e "$lib/$ifn" ]; then - logger -t "vnstat" "Downloaded backup for database $ifn" - break - else - logger -t "vnstat" "Download try $try/$max for database $ifn failed" - sleep 30 - fi - done - elif [ -n "$backup_dir" ]; then - if cp -f "$backup_dir/$ifn" "$lib/" &>/dev/null; then - logger -t "vnstat" "Restored backup for database $ifn" - else - logger -t "vnstat" "Restore of backup for database $ifn failed" - fi - fi - /usr/bin/vnstat -u -i "$ifn" >/dev/null - - [ -n "$lnk" ] && { - mkdir -p "$lnk" - [ -L "$lnk/$ifn" ] || ln -s "$lib/$ifn" "$lnk/$ifn" - } } - config_get url "$cfg" remote - config_get lnk "$cfg" symlink - config_get backup_dir "$cfg" backup_dir config_list_foreach "$cfg" interface init_iface return 1