diff --git a/advanced/Scripts/piholeLogFlush.sh b/advanced/Scripts/piholeLogFlush.sh index 8b16e3d5..64833b64 100755 --- a/advanced/Scripts/piholeLogFlush.sh +++ b/advanced/Scripts/piholeLogFlush.sh @@ -11,5 +11,10 @@ # (at your option) any later version. echo -n "::: Flushing /var/log/pihole.log ..." -echo " " > /var/log/pihole.log +# Test if logrotate is available on this system +if command -v /usr/sbin/logrotate &> /dev/null; then + /usr/sbin/logrotate --force /etc/.pihole/advanced/logrotate +else + echo " " > /var/log/pihole.log +fi echo "... done!" diff --git a/advanced/logrotate b/advanced/logrotate new file mode 100644 index 00000000..e9be016d --- /dev/null +++ b/advanced/logrotate @@ -0,0 +1,9 @@ +/var/log/pihole.log { + daily + copytruncate + rotate 5 + compress + delaycompress + notifempty + nomail +} diff --git a/advanced/pihole.cron b/advanced/pihole.cron index 8311acfb..e8bc7ba9 100644 --- a/advanced/pihole.cron +++ b/advanced/pihole.cron @@ -23,4 +23,7 @@ # Pi-hole: Flush the log daily at 00:00 so it doesn't get out of control # Stats will be viewable in the Web interface thanks to the cron job above +# The flush script will use logrotate if available 00 00 * * * root PATH="$PATH:/usr/local/bin/" pihole flush + +@reboot root /usr/sbin/logrotate /etc/.pihole/advanced/logrotate