nginx: Add missing logrotate script
This commit is contained in:
parent
943ad5ef8b
commit
11fbb4a720
1 changed files with 28 additions and 0 deletions
28
roles/nginx/files/nginx-logrotate.sh
Executable file
28
roles/nginx/files/nginx-logrotate.sh
Executable 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)"
|
Loading…
Add table
Reference in a new issue