如果你的是源码包安装的服务,那么对于Linux服务器上的一些服务在运行当中产生的日志很重要,可以判断你的服务是否有异常等,但源码包安装的日志是没有日志的轮询或者说是切割能力的,

所以你就需要用到bash脚本来做或者用其他语言,但我这里来介绍下一个RHEL系列的工具 logrotate 他可以轻松的帮你实现日志的轮询。像RHEL和CentOS都默认安装了该服务。你可以直接

编辑/etc/logrotate.conf  来实现对相应日志文件的轮询:

例如典型的apache日志,

首选我来说下列子然后在详细说他的参数:

我的编译安装的apache是在/usr/local/apache2/logs

这里记录了我的所有apache的日志文件包括虚拟主机的文件。

[root@app logs]# vi /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
# see "man logrotate" for details
# rotate log files weekly
weekly # keep weeks worth of backlogs
rotate # create new (empty) log files after rotating old ones
create # use date as a suffix of the rotated file
dateext # uncomment this if you want your log files compressed
#compress # RPM packages drop log rotation information into this directory
include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create root utmp
minsize 1M
rotate
} /var/log/btmp {
missingok
monthly
create root utmp
rotate
} /usr/local/apache2/logs/*_log{
daily
create
rotate 30
}

我在下面加入了我的apache的log文件下所有以_log结尾的文件

这样无论我将来在添加新的虚拟主机太也会生效。

当然我们可以用:logrotate -v /etc/logrotate.conf   来查看我们现在生效的日志配置,在里面我可以再最后看到我添加的apache日志中有了我的虚拟主机命名的日志文件信息

如果想让你现在的配置就生效的话 你可以使用 :[root@app logs]# logrotate -f /etc/logrotate.conf  这就可以强制执行该配置文件中的信息。这个需要注意的是尽力不要用在线上服务器

配置介绍:

1.日志的命名规则

如果配置文件中有dateext参数,那么日志会用日期来作为日志文件的后缀, 例如:"mail-20150722" 这样可以保证日志不会重叠覆盖。也不需要日志文件改名。只需要自定文件的个数删除多余的日志文件即可。

如果配置文件中没有dateext参数,那么日志文件就需要进行改名,当第一次进行日志轮替时,当前的日志文件名,会修改为"日志文件名.1"然后在重新生成一个新的文件名称为 日志文件名记录数据,以此类推就比如像手。枪子弹夹装弹一样,新的加入会成为第一个后面的会成为第二个在后面的又二变成三

2.配置文件及相应的配置参数介绍:(该图来自网络如有版权问题可留言修改)

logrotate关于日志轮询和分割的更多相关文章

  1. Nginx 访问日志轮询切割

    Nginx 访问日志轮询切割脚本 #!/bin/sh Dateformat=`date +%Y%m%d` Basedir="/application/nginx" Nginxlog ...

  2. Nginx的继续深入(日志轮询切割,重写,负载均衡等)

    Nginx的访问日志轮询切割 通常什么情况Nginx会把所有的访问日志生成到一个制定的访问日志文件access.log里面,但时间一长,日志个头很大不利于日志的分析和处理. 有必要对Nginx日志进行 ...

  3. apache日志轮询技术

    1.首先先下载安装apache的日志轮询工具cronolog: wget http://cronolog.org/download/cronolog-1.6.2.tar.gz .tar.gz cd c ...

  4. nginx日志配置,以及日志轮询

    一.为nginx配置错误日志 Nginx错误日志是调试nginx的重要手段,属于核心功能模块的参数(ngx_core_module)该参数名字为err_log,是放在Main区块中全局配置 err_l ...

  5. Apache日志轮询Cronolog安装及简单用法

    安装日志轮询工具cronolog: [root@bqh- tools]# tar xf cronolog-.tar.gz [root@bqh- tools]# cd cronolog- [root@b ...

  6. linux Apache 日志轮询

    安装日志轮询工具 cronolog [root@Nagios-Server tools]# wgethttp://cronolog.org/download/cronolog-1.6.2.tar.gz ...

  7. logrotate 日志轮询(转存)

    1.建立/etc/logrotate.d/nginx文件[1] vim /etc/logrotate.d/nginx 2.写入如下内容: /var/log/nginx/*log { daily rot ...

  8. 源码安装最新版keepalived,剥离日志出来并配置日志轮询

    安装 yum install -y gcc openssl-devel popt-devel ipvsadm libnl3-devel net-snmp-devel libnl libnl-devel ...

  9. apache 日志轮询 linux cronolog

    Linux下运行的Web服务器Apache,默认日志文件是不分割的,一个整文件既不易于管理,也不易于分析统计.安装cronolog后,可以将日志文件按时间分割,易于管理和分析. cronolog安装配 ...

随机推荐

  1. MongoDB安装与启动

    我本人电脑是win8系统64位,下载64位的zip包,下载完成后解压缩到D:\MongoDB目录 创建数据库目录D:\MongoDB\data,接下来打开命令行窗口,切换到D:\MongoDB\bin ...

  2. javaBean和Servlet有什么区别

    1.javabean无非就是里面有些set和get方法 2.servlet用来处理一些逻辑层 3.javabean.servlet.jsp分别对应M(odel).C(ontroller).V(iew) ...

  3. VS联调多个解决方案的项目

    一.项目中经常出现一个解决方案里面有多个程序,如果想按F5启动多个实例进行操作调试那该怎么操作? 以前自己都使用附加进程的方法调试,这样的调试不需要按F5,自己只要运行多个程序后,使用vs的附加进程到 ...

  4. gdb简明手册

    如果是在windows环境下,首先要添加环境变量: 新建一个环境变量MinGW_PATH,值为MinGW的运行目录: 然后在系统的Path变量后面加上一句:(每两个变量之间用 ; 分开) ------ ...

  5. webbench详解

    安装 mkdir -p /usr/local/man/man1 yum install ctags -y tar zxvf webbench-1.5.tar.gzcd webbench-1.5make ...

  6. ruby 淘宝镜像

    由于国内GFW原因,导致无法安装gem库文件.故选择淘宝镜像, 如何使用? $ gem sources --remove https://rubygems.org/ $ gem sources -a ...

  7. primefaces p:dataExporter filename 支持中文 utf8

    p:fileDownload and p:dataExporter : for p:fileDownload, the Content-Disposition header should be set ...

  8. 京东分布式MySQL集群方案介绍

    背景 数据库作为一个非常基础的系统,任何一家互联网公司都会使用,数据库产品也很多,有Oracle.SQL Server .MySQL.PostgeSQL.MariaDB等,像SQLServer/Ora ...

  9. spring-data-jpa 的@Query注解的使用

    // ------------------------------------ 使用 @Query 注解 // 没有参数的查询 @Query("select p from Person p ...

  10. SQL 字段保留下划线后部分

    select  SUBSTRING(b.SUMMARY,0,charindex('_',b.SUMMARY))as SUMMARY  from UltimusDB.dbo.INCIDENTS b