分享一个脚本,它配合linux系统的crontab任务,对nginx自动日志切割和清理,分别作用于ACCESS和ERROR的日志。
特点:
1、功能丰富
应有的功能中,不仅支持按天切割,而且支持通过通过设置文件大小作切割。
2、通用
通用于nginx、tengine,通过简单改进也能有好的支持切割清理httpd、lightd等其他Web server 日志。
3、更加易于理解
用shell方式相对更加好理解,并且易于后续的维护和功能的添加。
好了,话不多说直接上脚本,如下:
#!/bin/bash#Jeson#Email:jeson@iaskjob.com#变量定义:access、error日志文件列表
NGINX_LOG=(imoocc_com_access iaskjob_com error)
NGINX_ACCESS_PATH=/opt/logs/nginx/access
NGINX_ERROR_PATH=/opt/logs/nginx/error
#日期变量Ydate=`date -d yesterday +%Y%m%d`Adate=`date -d "20 days ago" +%Y%m%d`#PID文件和nginx.conf中定义一致Nginxpid=/opt/app/nginx/nginx.pid
#日志的量,超过此值,触发切割