Selaa lähdekoodia

add flag protect database

rufengsuixing 5 vuotta sitten
vanhempi
sitoutus
ca36e9a158
3 muutettua tiedostoa jossa 13 lisäystä ja 2 poistoa
  1. 3 0
      luasrc/model/cbi/AdGuardHome/base.lua
  2. 3 0
      po/zh-cn/AdGuardHome.po
  3. 7 2
      root/etc/init.d/AdGuardHome

+ 3 - 0
luasrc/model/cbi/AdGuardHome/base.lua

@@ -117,6 +117,9 @@ o = s:option(Value, "hashpass", translate("Change browser management password"),
 o.default     = ""
 o.datatype    = "string"
 o.template = "AdGuardHome/AdGuardHome_chpass"
+---- database protect
+o = s:option(Flag, "keepdb", translate("Keep database when system upgrade"))
+o.default = 0
 
 function mp.on_commit(map)
 	io.popen("/etc/init.d/AdGuardHome reload &")

+ 3 - 0
po/zh-cn/AdGuardHome.po

@@ -168,3 +168,6 @@ msgstr "逆序"
 
 msgid "Fast config"
 msgstr "快速配置"
+
+msgid "Keep database when system upgrade"
+msgstr "系统升级时保留数据"

+ 7 - 2
root/etc/init.d/AdGuardHome

@@ -264,7 +264,7 @@ start_service() {
 	local ADDITIONAL_ARGS=""
 	config_get configpath $CONFIGURATION configpath "/etc/AdGuardHome.yaml"
 	config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome/AdGuardHome"
-	# hack to save config file when upgrade system
+	
 	echo -e "$configpath\n$binpath">/lib/upgrade/keep.d/luci-app-adguardhome
 	mkdir -p ${binpath%/*}
 	ADDITIONAL_ARGS="$ADDITIONAL_ARGS -c $configpath"
@@ -275,7 +275,12 @@ start_service() {
 	config_get workdir $CONFIGURATION workdir "/usr/bin/AdGuardHome"
 	ADDITIONAL_ARGS="$ADDITIONAL_ARGS -w $workdir"
 	mkdir -p $workdir/data
-
+	echo -e "$configpath\n$binpath">/lib/upgrade/keep.d/luci-app-adguardhome
+	# hack to save config file when upgrade system
+	config_get keepdb $CONFIGURATION keepdb 0
+	if [ "$keepdb" -eq 1 ]; then
+		echo -e "$workdir/data/sessions.db\n$workdir/data/stats.db\n$workdir/data/querylog.json">>/lib/upgrade/keep.d/luci-app-adguardhome
+	fi
 	config_get logfile $CONFIGURATION logfile ""
 	if [ ! -z "$logfile" ]; then
 		ADDITIONAL_ARGS="$ADDITIONAL_ARGS -l $logfile"