• 企业400电话
  • 网络优化推广
  • AI电话机器人
  • 呼叫中心
  • 全 部 栏 目

    网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Linux下使用cronolog切割服务器日志文件的方法
    POST TIME:2021-10-20 10:09

    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 webmaster@dummy-host.example.com
    # 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 檔即可。

    上一篇:Linux系统下设置静态IP或自动获取动态IP的简单方法
    下一篇:一波Linux下常用的文件相关命令小整理
  • 相关文章
  • 

    关于我们 | 付款方式 | 荣誉资质 | 业务提交 | 代理合作


    © 2016-2020 巨人网络通讯

    时间:9:00-21:00 (节假日不休)

    地址:江苏信息产业基地11号楼四层

    《增值电信业务经营许可证》 苏B2-20120278

    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信