> Linux教程 > 系统运维 >

Linux日志切割

如果服务器有大量的用户的话,这些日志文件的大小会很快地增加,在服务器硬盘不是非常充足的情况下,必须采取措施防止日志文件将硬盘撑爆。现代的Linux版本都有一个小程序,名为logrotate,用来帮助用户管理日志文件,它以自己的守护进程工作。logrotate周期性地旋转日志文件,可以周期性地把每个日志文件重命名成一个备份名字,然后让它的守护进程开始使用一个日志文件的新的拷贝。这就是为什么在/var/log/下看到许多诸如maillog、maillog.1、maillog.2、boot.log.1、boot.log.2之类的文件名。它由一个配置文件驱动,该文件是/etc/logroatate.conf,下面是它的一个范例:
# see "man logrotate" for details
# rotate log files weekly
weekly
#以7天为一个周期

# keep 4 weeks worth of backlogs
rotate 4
#每隔4周备份日志文件

# send errors to root
errors root
#发生错误向root报告

# 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
#表示/etc/logrotate.d目录下的所有配置文件都生效


# no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp { --针对wtmp单独的配置,这里是绝对路径
    monthly --一个月rotate一次,取代上面的全局配置里的一个星期一次
    minsize 1M --指定最小大小为1M,才rotate,就算是时间到了,大小没有1M,也不rotate
    create 0664 root utmp --定义创建的为属性为0664,属主为root,属组utmp
    rotate 1 --保留一个
}

logrotate -vf /etc/logrotate.conf --强制轮转日志,并查看轮转的过程


# system-specific logs may be configured here


参  数:
-?或--help  在线帮助。 
-d或--debug  详细显示指令执行过程,便于排错或了解程序执行的情况。 
-f或--force  强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然。 
-s<状态文件>或--state=<状态文件>  使用指定的状态文件。 
-v或--version  显示指令执行过程。 

-usage  显示指令基本用法。

(责任编辑:IT)