logrotate/logrotate-all

29 lines
736 B
Bash

#!/bin/sh
set -eu
configs=
# Only read /usr/etc/logrotate.conf if /etc/logrotate.conf does not exist
if ! [ -e /etc/logrotate.conf ]; then
configs="$configs /usr/etc/logrotate.conf"
else
configs="$configs /etc/logrotate.conf"
fi
# Then read in all of {/usr,}/etc/logrotate.d/*, with /etc/ overriding /usr/etc/.
dirs=
[ -d /usr/etc/logrotate.d ] && dirs="/usr/etc/logrotate.d"
[ -d /etc/logrotate.d ] && dirs="$dirs /etc/logrotate.d"
if [ -n "$dirs" ]; then
for confname in $(find $dirs -type f -printf "%P\n" | sort -u); do
if [ -e "/etc/logrotate.d/$confname" ]; then
configs="$configs /etc/logrotate.d/$confname"
else
configs="$configs /usr/etc/logrotate.d/$confname"
fi
done
fi
exec /usr/sbin/logrotate $configs