If old log paths exist in logrotate file, replace them with new ones

Signed-off-by: Adam Warner <me@adamwarner.co.uk>
This commit is contained in:
Adam Warner 2022-07-10 09:52:55 +01:00
parent e0baf4c7ec
commit ecfb96d339
No known key found for this signature in database
GPG key ID: 872950F3ECF2B173

View file

@ -1955,10 +1955,28 @@ installLogrotate() {
printf "\\n %b %s..." "${INFO}" "${str}"
if [[ -f ${target} ]]; then
printf "\\n\\t%b Existing logrotate file found. No changes made.\\n" "${INFO}"
# Return value isn't that important, using 2 to indicate that it's not a fatal error but
# the function did not complete.
return 2
local touched=0
if grep -q "/var/log/pihole.log" ${target}; then
sed -i 's/\/var\/log\/pihole.log/\/var\/log\/pihole\/pihole.log/g' ${target}
touched=1
fi
if grep -q "/var/log/pihole-FTL.log" ${target}; then
sed -i 's/\/var\/log\/pihole-FTL.log/\/var\/log\/pihole\/FTL.log/g' ${target}
touched=1
fi
if [ "${touched}" -eq "0" ]; then
printf "\\n\\t%b Existing logrotate file found. No changes made.\\n" "${INFO}"
# Return value isn't that important, using 2 to indicate that it's not a fatal error but
# the function did not complete.
return 2
else
printf "\\n\\t%b Old log file paths updated in existing logrotate file. \\n" "${INFO}"
return 3
fi
fi
# Copy the file over from the local repo
install -D -m 644 -T "${PI_HOLE_LOCAL_REPO}"/advanced/Templates/logrotate ${target}