代码:
# cat logrotate.sh
#!/bin/bash
#rotate nginx logs
#writen by Aiker
PATH=$PATH://usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
logs_path=/var/log/nginx
d=$(date -d "-1 day" +%F)
mv $logs_path/access.log $logs_path/access_${d}.log
mv $logs_path/error.log $logs_path/error_${d}.log
#向nginx主进程发送USR1信号重新打开日志文件
kill -USR1 $(cat /var/run/nginx.pid)
定时切割日志:
crontab -e
0 0 * * 0 /root/script/logrotate.sh > /dev/null 2>&1
# ll /var/log/nginx/
total 64
-rw-r--r-- 1 nginx root 3205 Feb 12 11:42 access_2018-02-11.log
-rw-r--r-- 1 nginx root 41951 Feb 12 11:53 access.log
-rw-r--r-- 1 nginx root 14441 Feb 9 10:12 error_2018-02-11.log
-rw-r--r-- 1 nginx root 0 Feb 12 11:43 error.log
原文:http://blog.51cto.com/m51cto/2071304