Use possibly user-defined database location when flushing

Signed-off-by: DL6ER <dl6er@dl6er.de>
This commit is contained in:
DL6ER 2018-02-17 12:58:57 +01:00
parent 4c249a1186
commit 5d274008db
No known key found for this signature in database
GPG key ID: 00135ACBD90B28DD

View file

@ -11,6 +11,17 @@
colfile="/opt/pihole/COL_TABLE"
source ${colfile}
# Determine database location
# Obtain DBFILE=... setting from pihole-FTL.db
# Constructed to return nothing when
# a) the setting is not present in the config file, or
# b) the setting is commented out (e.g. "#DBFILE=...")
DBFILE=$(sed -n -e 's/^\s^.DBFILE\s*=\s*//p' /etc/pihole/pihole-FTL.conf)
# Test for empty string. Use standard path in this case.
if [ -z $DBFILE ]; then
DBFILE="/etc/pihole/pihole-FTL.db"
fi
if [[ "$@" != *"quiet"* ]]; then
echo -ne " ${INFO} Flushing /var/log/pihole.log ..."
fi
@ -41,8 +52,8 @@ else
echo " " > /var/log/pihole.log.1
fi
fi
# Delete most recent 24 hours from FTL's database
deleted=$(sqlite3 /etc/pihole/pihole-FTL.db "DELETE FROM queries WHERE timestamp >= strftime('%s','now')-86400; select changes() from queries limit 1")
# Delete most recent 24 hours from FTL's database, leave even older data intact (don't wipe out all history)
deleted=$(sqlite3 "${DBFILE}" "DELETE FROM queries WHERE timestamp >= strftime('%s','now')-86400; select changes() from queries limit 1")
fi