• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Linux下使用cronolog切割服务器日志文件的方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计。安装cronolog后,可以将日志文件按时间分割,易于管理和分析。
 
cronolog安装配置非常简单,下载后只需要输入几个命令即可完成。
 
1、下载(最新版本)

复制代码
代码如下:

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2、解压缩

复制代码
代码如下:

# tar zxvf cronolog-1.6.2.tar.gz

3、进入cronolog安装文件所在目录

复制代码
代码如下:

# cd cronolog-1.6.2

4、运行安装

复制代码
代码如下:

# ./configure
# make
# make install

5、查看cronolog安装后所在目录(验证安装是否成功)

复制代码
代码如下:

# which cronolog

一般情况下显示为:/usr/local/sbin/cronolog
 
整个安装过程结束,下面需要把日志的格式配置一下:
 
1、虚拟主机配置文件 httpd-vhosts.conf
 
将Web日志设置 CustomLog 修改为以下格式
 
复制代码
代码如下:

CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined

当然,错误日志设置 ErrorLog 也可以利用 cronolog 分割,设置为
 
复制代码
代码如下:

ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"

2、如果服务器上只有一个站点(当然这种情况比较少),直接按上面所说格式修改 httpd.conf 文件日志设置部分。
 
说明:
 
绿色部分 为 cronolog 安装后所在位置,系统版本不同可能位置不完全一样,以 which 命令查看到的位置为准;
蓝色部分 为设置的日志文件所在位置,根据需要修改;
红色部分 为设置的日志文件标识性字符,根据需要修改;
%Y%m%d 为日志文件分割方式,例子中为“年月日”,也可以修改成自己需要的。
 
 
修改httpd.conf文件:
这个文件在我的电脑上是在 /etc/httpd/conf/httpd.conf 不同的服务器 应该是不一样的
 
在最后加上

复制代码
代码如下:

<VirtualHost *:80>
# ServerAdmin [email protected]
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-host.example.com
ErrorLog /data/logs/apache/webapps.wps.cn-error_log
CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%d/access_log.%H" combined
#这个保证了每天一个文件夹 文件夹下 每个小时产生一个log
#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined
</VirtualHost>
进入到 /etc/init.d/httpd configtest 这样验证你的配置文件是否正确
进入到 /etc/init.d/httpd restart 重启apache 服务器(不同的系统应该是不一样 要自己找到)

用于Tomcat
第一步


复制代码
代码如下:

if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi

修改为 

复制代码
代码如下:

if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi

第二步
将 

复制代码
代码如下:

touch "$CATALINA_OUT"

改为

复制代码
代码如下:

#touch "$CATALINA_OUT"

第三步


复制代码
代码如下:

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

复制代码
代码如下:

service tomcat restart

可以在 Tomcat 的 logs 目录底下找到以系统日期为结尾的 catalina.out.yyyy-mm-dd 的档案,这样子就成功了。 
后续就是持续观察看看是不是每天都有产生一个新的 catalina.out.yyyy-mm-dd 档案。然后再安排定期删除这些较旧的 log 檔即可。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Linux系统下设置静态IP或自动获取动态IP的简单方法发布时间:2022-02-10
下一篇:
一波Linux下常用的文件相关命令小整理发布时间:2022-02-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap