From f4e50fc9630f21e0690f02b4b298912b918386cb Mon Sep 17 00:00:00 2001 From: Simone Rossetto Date: Tue, 19 Mar 2019 18:13:40 +0100 Subject: [PATCH] Change regex match from 'log/' to '/log/' The sed command was wrongly replacing every folder whose name ends in 'log/' with 'log.hdd/', so i.e. '/var/log/ulog/*.log' became '/var/log.hdd/ulog.hdd/*.log'. Subsequent logrotate exections would fail due to non existent folders. In addition, some logrotate config files may have more than one path per line, so a 'g' option in the sed replacement regex is required to replace all '/log/' entries at once. --- .../common/usr/lib/armbian/armbian-hardware-optimization | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization b/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization index c296cc0a4b..27613723f0 100755 --- a/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization +++ b/packages/bsp/common/usr/lib/armbian/armbian-hardware-optimization @@ -44,11 +44,11 @@ prepare_board() { CheckDevice=$(for i in /var/log /var / ; do findmnt -n -o SOURCE $i && break ; done) # adjust logrotate configs if [[ "${CheckDevice}" == "/dev/zram0" || "${CheckDevice}" == "armbian-ramlog" ]]; then - for ConfigFile in /etc/logrotate.d/* ; do sed -i -e "s/log\//log.hdd\//" "${ConfigFile}"; done - sed -i "s/log\//log.hdd\//" /etc/logrotate.conf + for ConfigFile in /etc/logrotate.d/* ; do sed -i -e "s/\/log\//\/log.hdd\//g" "${ConfigFile}"; done + sed -i "s/\/log\//\/log.hdd\//g" /etc/logrotate.conf else - for ConfigFile in /etc/logrotate.d/* ; do sed -i -e "s/\/log.hdd\//\/log\//" "${ConfigFile}"; done - sed -i "s/\/log.hdd\//\/log\//" /etc/logrotate.conf + for ConfigFile in /etc/logrotate.d/* ; do sed -i -e "s/\/log.hdd\//\/log\//g" "${ConfigFile}"; done + sed -i "s/\/log.hdd\//\/log\//g" /etc/logrotate.conf fi # unlock cpuinfo_cur_freq to be accesible by a normal user