diff --git a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua index 3395302b5..ee5090815 100644 --- a/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua +++ b/luci-app-openmptcprouter/luasrc/controller/openmptcprouter.lua @@ -554,6 +554,11 @@ function settings_add() ucic:set("openmptcprouter","settings","external_check",externalcheck) ucic:commit("openmptcprouter") + -- Enable/disable external check + local savevnstat = luci.http.formvalue("savevnstat") or "0" + luci.sys.exec("uci -q set vnstat.@vnstat[0].backup=%s" % savevnstat) + ucic:commit("openmptcprouter") + -- Enable/disable fast open local fastopen = luci.http.formvalue("disablefastopen") or "0" ucic:foreach("shadowsocks-libev", "ss_redir", function (section) diff --git a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm index c1f3e5a58..df536732d 100644 --- a/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm +++ b/luci-app-openmptcprouter/luasrc/view/openmptcprouter/settings.htm @@ -157,6 +157,16 @@ +
+ +
+ checked<% end %>> +
+
+ <%:Save vnstats statistics on disk%> +
+
+
diff --git a/openmptcprouter/files/etc/init.d/vnstat_backup b/openmptcprouter/files/etc/init.d/vnstat_backup index bb9a5236c..d1444c0e4 100755 --- a/openmptcprouter/files/etc/init.d/vnstat_backup +++ b/openmptcprouter/files/etc/init.d/vnstat_backup @@ -16,13 +16,24 @@ vnstat_option() { BACKUP_FILE=/etc/vnstat_backup.tar.gz LOGGER_TAG=vnstat_backup VNSTAT_DIR="$(vnstat_option DatabaseDir)" - + +_chk_omrquota() { + config_get enabled $1 enabled + [ "$enabled" = "1" ] && backup="true" +} + backup_database() { - if [ ! -d $VNSTAT_DIR ]; then - logger -t $LOGGER_TAG -p err "cannot backup, data directory $VNSTAT_DIR does not exist (yet)" - else - logger -t $LOGGER_TAG -p info "backing up database" - /bin/tar -zcf $BACKUP_FILE -C $VNSTAT_DIR . + backup="false" + config_load omr-quota + config_foreach _chk_omrquota interface + [ "$(uci -q get vnstat.@vnstat[0].backup)" = "1" ] && backup="true" + if [ "$backup" = "true" ]; then + if [ ! -d $VNSTAT_DIR ]; then + logger -t $LOGGER_TAG -p err "cannot backup, data directory $VNSTAT_DIR does not exist (yet)" + else + logger -t $LOGGER_TAG -p info "backing up database" + /bin/tar -zcf $BACKUP_FILE -C $VNSTAT_DIR . + fi fi }