首页 » 运维 » 正文

Logrotate的简单应用

在我们日常的运维工作中,日志文件无疑是每个人都遇到的过的问题,文件太大,文件太多,磁盘空间不够了….

logrotate是一个帮助我们自动压缩,分割,删除,甚至通过邮件的形式发送log文件的工具

logrotate一般可以每天,每周,每月执行,除非你指定了按照文件大小来分割,否则logrotate不会在指定时间执行多次

强制执行的命令是

logrotate -f /etc/logrotate.d/syslog

-f: force

/etc/logrotate.d/syslong: 配置文件所在

看几个例子:

其中compress是一个全局的设置:压缩我们分割之后的文件

第一个message的例子

这个例子定义了logrotated如何自动的处理我们的日志文件message,首先,它会每周执行一次,而且,会保留5个版本,也就是保留5周,5周之后自动删除。在我们将文件分割之后(在压缩之前),命令

/sbin/killall -HUP syslogd

会被执行

第二个httpd的日志的例子:

首先,它定义了两个文件的配置文件。这个文件并不是按照天或者星期来执行的,而是根据这两个文件的大小来判断是否需要分割,每次文件达到100K,文件就会被分割,旧的文件会保留5次分割,然后,这些超过5次的文件,会被发送到www@my.org(未压缩的)。而不是被删除。sharedscripts 意味着postrotate脚本只会执行一次,

最后的例子:

最后一个例子是一个每个月执行一次的任务,保留两次的文件,如果出现错误,文件将不会被压缩

Zhiming Zhang

Senior devops at Appannie
一个奔跑在运维路上的胖子
Zhiming Zhang

Latest posts by Zhiming Zhang (see all)