From 5d274008db4e38332538d0c25d6e49afd08d839d Mon Sep 17 00:00:00 2001 From: DL6ER Date: Sat, 17 Feb 2018 12:58:57 +0100 Subject: [PATCH] Use possibly user-defined database location when flushing Signed-off-by: DL6ER --- advanced/Scripts/piholeLogFlush.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/advanced/Scripts/piholeLogFlush.sh b/advanced/Scripts/piholeLogFlush.sh index 0816678f..bbe68c7e 100755 --- a/advanced/Scripts/piholeLogFlush.sh +++ b/advanced/Scripts/piholeLogFlush.sh @@ -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