JezK
Edit File: logrotate-wp-debug.sh
#!/bin/bash set -Eeuo pipefail USER="$(id -u -n)" test "$USER" != "" WP_CONTENT_DIRECTORY="${HOME:0:-1}/www/wp-content" DEBUG_LOG_FILE="${WP_CONTENT_DIRECTORY}/debug.log" # First delete every debug.log.* file older than 1 week find "${WP_CONTENT_DIRECTORY}/" \ -maxdepth 1 \ -regextype posix-egrep \ -regex "${DEBUG_LOG_FILE}.[0-9]+(.gz)?" \ -type f \ -mmin +10080 \ -delete 2> /dev/null || : # Rotate debug.log(.*) if current debug.log is bigger than 200MB # or if the file was created 24 hours ago. ROTATE=0 test "$(find "${DEBUG_LOG_FILE}" -user "${USER}" -type f -size +200M 2> /dev/null || :)" = "" || ROTATE=1 test "$(find "${DEBUG_LOG_FILE}" -user "${USER}" -type f -cmin +1430 2> /dev/null || :)" = "" || ROTATE=1 test $ROTATE = 1 || exit 0 test ! -f "${DEBUG_LOG_FILE}.7.gz" || rm "${DEBUG_LOG_FILE}.7.gz" test ! -f "${DEBUG_LOG_FILE}.6.gz" || cp "${DEBUG_LOG_FILE}.6.gz" "${DEBUG_LOG_FILE}.7.gz" test ! -f "${DEBUG_LOG_FILE}.5.gz" || cp "${DEBUG_LOG_FILE}.5.gz" "${DEBUG_LOG_FILE}.6.gz" test ! -f "${DEBUG_LOG_FILE}.4.gz" || cp "${DEBUG_LOG_FILE}.4.gz" "${DEBUG_LOG_FILE}.5.gz" test ! -f "${DEBUG_LOG_FILE}.3.gz" || cp "${DEBUG_LOG_FILE}.3.gz" "${DEBUG_LOG_FILE}.4.gz" test ! -f "${DEBUG_LOG_FILE}.2.gz" || cp "${DEBUG_LOG_FILE}.2.gz" "${DEBUG_LOG_FILE}.3.gz" test ! -f "${DEBUG_LOG_FILE}.1" || gzip -c "${DEBUG_LOG_FILE}.1" > "${DEBUG_LOG_FILE}.2.gz" test ! -f "${DEBUG_LOG_FILE}" || mv "${DEBUG_LOG_FILE}" "${DEBUG_LOG_FILE}.1"