nginx: Add missing logrotate script

This commit is contained in:
Timo Makinen 2025-01-30 12:32:49 +00:00
parent 943ad5ef8b
commit 11fbb4a720

View file

@ -0,0 +1,28 @@
#!/bin/sh
set -eu
cd /var/www/logs
find_rotated() {
find . -mindepth 1 -maxdepth 1 -type f -name "${1}.*" | sort -V -r
}
for log in *.log ; do
find_rotated "$log" | while read -r name; do
ext="${name##*.}"
next="${name%.*}.$((ext+1))"
mv "$name" "$next"
done
mv "$log" "${log}.1"
touch "$log"
find_rotated "$log" | while read -r name; do
num="$(echo "$name" | awk -F. '{ print $NF }')"
if [ "$num" -gt 7 ]; then
rm -f "$log"
fi
done
done
kill -USR1 "$(cat /var/run/nginx.pid)"