默认情况下 Nginx 会把所有的访问日志生成到一个指定的访问日志文件 access.log 里,但这样一来,时间长了就会导致日志个头很大,不利于日志的分析和处理,因此,有必要对 Nginx 日志,按天或按小时进行切割,使其分成不同的文件保存。
[[email protected] conf]# cat cut_nginx_log.sh #!/bin/bash Dateformat=`date +%Y%m%d` Basedir="/usr/local/nginx" Nginxlogdir="$Basedir/logs" Logname="access" [ -d $Nginxlogdir ] && cd $Nginxlogdir || exit 1 [ -f ${Logname}.log ] || exit 1 /bin/mv ${Logname}.log ${Dateformat}_${Logname}.log $Basedir/sbin/nginx -s reload
[[email protected] nginx]# crontab -l 0 0 * * * /bin/bash /usr/local/nginx/conf/cut_nginx_log.sh > /dev/null 2>&1
效果:
[[email protected] logs]# ll -rw-r--r--. 1 root root 0 May 25 18:57 20170521_access.log -rw-r--r--. 1 root root 0 May 25 18:57 20170522_access.log -rw-r--r--. 1 root root 0 May 25 18:57 20170523_access.log -rw-r--r--. 1 root root 0 May 25 18:57 20170524_access.log -rw-r--r--. 1 root root 0 May 25 18:57 20170525_access.log -rw-r--r--. 1 root root 0 May 25 18:57 access.log -rw-r--r--. 1 root root 6083 May 25 18:57 error.log -rw-r--r--. 1 root root 5 May 25 13:12 nginx.pid
时间: 2024-10-16 14:52:19