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