利用cronolog对nginx日志进行分割:
二、安装cronolog
yum -y install cronolog
三、先创建一个命名管道
关闭nginx:
nginx -s stop
rm -rf /usr/local/nginx/logs/access.log
mkfifo /usr/local/nginx/logs/access.log
按小时分割
nohup cat /usr/local/nginx/logs/access.log | /usr/sbin/cronolog /usr/local/nginx/logs/access_%Y-%m-%d-%H.log &
按分钟分割
nohup cat /usr/local/nginx/logs/access.log | /usr/sbin/cronolog /usr/local/nginx/logs/access_%Y-%m-%d-%H-%M.log &
按天分割
nohup cat /usr/local/nginx/logs/access.log | /usr/sbin/cronolog /usr/local/nginx/logs/access_%Y-%m-%d.log &
按每天一个目录分割
nohup cat /usr/local/nginx/logs/access.log | /usr/sbin/cronolog /usr/local/nginx/logs/%Y-%m-%d/access_.log &
五、启动Nginx
/usr/local/nginx/sbin/nginx
注意: cronolog必须在nginx启动前启动。如果nginx先启动了,可以reload实现
cronolog分割Tomcat catalina.out日志
Linux上tomcat的日志输出在catalina.out里面,随着时间的推移,产生的日志文件会越来越大,其主要是调试中打印的一些信息占空间,比如说System.out和log等等。tomcat 的catalina.out文件的不断扩大,导致系统磁盘空间边变小,也不方便查看,所以使用cronolog按日期分割日志(例子里面以天为分割单位)。
cronolog安装
# tar zxvf cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure
# make
# make install
查看cronolog安装后所在目录(验证安装是否成功)
# which cronolog
正常情况下显示:
/usr/local/sbin/cronolog
要想分割tomcat的catalina.out,需作如下工作:
Tomcat7以前的版本:
vim /usr/local/tomcat/bin/catalina.sh
(1)注释掉(#)
touch “$CATALINA_BASE”/logs/catalina.out
(2)修改tomcat bin目录下的catalina.sh文件中的两处
org.apache.catalina.startup.Bootstrap “$@” start \
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &
为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。
Tomcat7以后的版本:
vim /usr/local/tomcat/bin/catalina.sh
1 第一步
将
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改为
if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi
2 第二步
将
touch "$CATALINA_OUT"
改为
#touch "$CATALINA_OUT"
3 第三步
将
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 &
修改为
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
完成之后重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13样式的日志。