logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。

logrotate命令格式:
logrotate [OPTION...] <configfile>
-d, --debug :debug模式,测试配置文件是否有错误。
-f, --force :强制转储文件。
-m, --mail=command :发送日志到指定邮箱。
-s, --state=statefile :使用指定的状态文件。
-v, --verbose :显示转储过程。

logrotate的配置文件是/etc/logrotate.conf。查看缺省配置情况:

cat /etc/logrotate.conf

显示如下:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# 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 -- we'll rotate them here
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}

# system-specific logs may be also be configured here.

简单说明:
weekly :所有的日志文件每周转储一次。
rotate 4 :转储的文件分为4份。
create :logrotate自动创建新的日志文件。
compress :压缩日志文件。默认是注释掉的。
include /etc/logrotate.d :读入/etc/logrotate.d目录下的日志转储参数,当系统中安装了RPM软件包时,RPM包的日志转储参数一般会自动建立在/etc/logrotate.d目录下。
/var/log/wtmp段 :对/var/log/wtmp日志转储的配置。

使用logrotate管理lnmp一键安装包中nginx的连接日志,lnmp日志文件在/home/wwwlogs目录下。

建立配置文件:

vim /etc/logrotate.d/nginx

输入如下:

/home/wwwlogs/access.log /home/wwwlogs/nginx_error.log {
notifempty
daily
rotate 5
sharedscripts
postrotate
/bin/kill -HUP `/bin/cat /usr/local/nginx/logs/nginx.pid`
endscript
}

说明:
notifempty :如果是空文件的话,不转储。
daily :日志文件每天转储一次。
rotate 5 ;转储文件分为5份。
postrotate/endscript :日志转储后执行的脚本。这里用来让nginx重新生成日志文件。nginx.pid里存的是nginx的主进程号。

执行logrotate:

/usr/sbin/logrotate -vf /etc/logrotate.conf

如果没有报错,生成了转储文件,nginx正常访问,就OK了。

logrotate如何自动执行:
在/etc/cron.daily目录下有logrotate执行的脚本。通过crontab程序每天执行一次。

logrotate的更多相关文章

  1. 使用logrotate分割Tomcat的catalina日志

    切割catalian日志的方式有很多种,比如shell脚本的.cronolog或者通过配置log4j等等这些都可以实现.但今天我要介绍是使用logrotate来按日期生成日志. 原文是一个外国博主的文 ...

  2. rsyslog及logrotate小结

    [root@node1 logrotate.d]# ls dracut haproxy httpd mcelog nginx ppp psacct syslog yum   yum install n ...

  3. logrotate机制与原理[转载]

    http://blog.lightxue.com/how-logrotate-works/ 日志实在是太有用了,它记录了程序运行时各种信息.通过日志可以分析用户行为,记录运行轨迹,查找程序问题.可惜磁 ...

  4. 用Linux自带的Logrotate来管理日志

    Logrotate是由cron控制,cron在规定的时间执行 " logrotate  /etc/logrotate.conf "命令.将对象日志进行转储,删除,压缩等操作... ...

  5. 【转】如何利用logrotate工具自动切分滚动中的日志文件

    FROM : http://www.2cto.com/os/201503/381812.html 在很多实际项目中,应用程序会持续写日志,如果程序代码中没有调用支持自动切分(如按filesize或da ...

  6. [转]Linux日志文件总管——logrotate

    FROM : https://linux.cn/article-4126-1.html 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文 ...

  7. 用 Linux自带的logrotate 来管理日志

    大家可能都有管理日志的需要,比如定时压缩日志,或者当日志超过一定大小时就自动分裂成两个文件等.最近就接到这样一个小任务.我们的程序用的是C语言,用log4cpp的library来实现日志记录.但是问题 ...

  8. logrotate关于日志轮询和分割

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

  9. linux下logrotate 配置和理解

    对于Linux 的系统安全来说,日志文件是极其重要的工具.系统管理员可以使用logrotate 程序用来管理系统中的最新的事件,对于Linux 的系统安全来说,日志文件是极其重要的工具.系统管理员可以 ...

随机推荐

  1. vm安装centos 老是出现 grub.conf 配置问题

    vm 环境 11  centos 6.5 最开始用的是vm12 发现安装软件一会就出现 客户机操作系统已禁用 cpu.请关闭或重置虚拟机 以为是新机器的cpu或者主板有问题,换vm,换系统依然会出现这 ...

  2. p4lang/switch make bm-switchsai 出现内存不足导致的Error

    报错如下: Compiling : bm::dc.cpp g++: internal compiler error: Killed (program cc1plus) Please submit a ...

  3. asp.net identity 3.0.0 在MVC下的基本使用(一)

    注册时信箱转为用户名. 本人习惯使用用户名做注册用户,因为不管是什么终端起码都能少输入几个字符,可以提高用户体验. 这里需要更改控制器,模型和视图 1.打开Controllers目录下的Account ...

  4. MySQL运行状态show status详解

    状态名 作用域 详细解释 Aborted_clients Global 由于客户端没有正确关闭连接导致客户端终止而中断的连接数 Aborted_connects Global 试图连接到MySQL服务 ...

  5. 多线程编程-工具篇-BlockingQueue

    在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全"传输"数据的问题.通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序 ...

  6. SQL Server 常用日期查询语句

    --本月月初select  dateadd(mm,datediff(mm,0,getdate()),0) --本月月末select  DATEADD(DD,-1,DATEADD(MONTH,1+DAT ...

  7. 使用Django建立网站

    # django-admin startproject csvt01 # cd csvt01 # django-admin startapp blog # vim csvt01/settings.py ...

  8. 自定义EL表达式的函数

    编写描述的tld文件放到web-inf/目录下,才能在jsp页面上调用 <?xml version="1.0" encoding="UTF-8" ?> ...

  9. cs

    cs <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.o ...

  10. Response.End抛出ThreadAbortException 异常

    最近在写程序过程中遇到了一个匪夷所思的错误:Response.End()方法抛出了ThreadAbortException异常,我的代码如下: public void doResponse(){ st ...