Linux入职基础-5.23_命令logrotate转储系统日志(应用实战7)

命令logrotate 转储系统日志

简介:

日志的级别分为七级,从紧急程度由高到底:

emerg 系统已经不可用,级别为紧急

alert 警报,需要立即处理和解决

crit 既将发生,得需要预防。事件就要发生

warnig 警告

err 错误信息,普通的错误信息

notice 提醒信息,很重要的信息

info 通知信息,属于一般信息

debug 这是调试类信息

系统时时刻刻都在产生日志,如果不及时清理,很快就会挤满硬盘,但如果要手工清理,又很麻烦。这种情况下,/usr/sbin/logrotate这个程序很好的完成这个任务。所以常说程序logrotate是linux系统日志的管理工具。

功能:

logrotate程序把旧的日志文件删除,并创建新的日志文件,我们把它叫做“转储”。

说明:

“转储”可以根据日志文件的大小,也可以根据其天数来,这个过程一般通过一个叫做 crond的守护进程来执行,一般系统默认有一个logrotate 的shell脚本被加入cron的/etc/cron.daily中作为每日任务执行。如下图:


现在,打开/etc/cron.daily/logrotate这脚本,内容如下:


从这个脚本中可知,/usr/sbin/logrotate程序会每天被crond的守护进程调用一次,执行了/etc/logrotate.conf这个配置文件。它指定每个日志文件的“转储”默认规则。

每个日志文件的特定规则存放在目录/etc/logrotate.d/*(也会被logrotate程序读取,在logrotate.conf中使用include 选项读取其他配置文件)。如下:

现在,打开/etc/logrotate.conf这个配置文件,主要内容如下:

[root@localhost~]# cat /etc/logrotate.conf

# rotate log files weekly

weekly      

# keep 4 weeks worth of backlogs

rotate 4

errors root

# create new (empty) log files afterrotating old ones

create

# uncomment this if you want your log filescompressed

#compress

# RPM packages drop log rotationinformation into this directory

include /etc/logrotate.d

# no packages own wtmp -- we'll rotate themhere

/var/log/wtmp {

    monthly

    minsize 1M

    create 0664 root utmp

    rotate 1

}

注解:

weekly指定所有的日志文件每周转储一次

rotate4 指定转储文件的保留4

errorsroot 指定错误信息发送给root

create指定logrotate 自动建立新的日志文件,新的日志文件具有和

原来的文件一样的权限。

compress指定不压缩转储文件,如果需要压缩,去掉注释就可以了。

include选项读取其他配置文件,include 指定的文件中的转储参数将覆盖缺省的参数。

语法:logrotate[OPTION...] <configfile>

参数:

-d, --debug :debug模式,测试配置文件是否有错误。

-f, --force :强制转储文件。

-m, --mail=command :发送日志到指定邮箱。

-s, --state=statefile :使用指定的状态文件。

-v, --verbose :显示转储过程。

/etc/logrotate.conf这个配置文件主要参数如下表:

daily 指定转储周期为每天

weekly 指定转储周期为每周

monthly 指定转储周期为每月

nomail 转储时不发送日志文件

nocreate 不建立新的日志文件

size size 当日志文件到达指定的大小时才转储,Size可以指定bytes (缺省)以及KB (sizek)或者MB (sizem)。

ifempty 即使是空文件也转储,这个是 logrotate 的缺省选项。

notifempty 如果是空文件的话,不转储

compress 通过gzip 压缩转储以后的日志

nocompress 不需要压缩时,用这个参数

copytruncate  用于还在打开中的日志文件,把当前日志备份并截断

nocopytruncate  备份日志文件但是不截断

create mode owner group  转储文件,使用指定的文件模式创建新的日志文件

delaycompress和 compress 一起使用时,转储的日志文件到下一次转储时才压缩

nodelaycompress  覆盖 delaycompress 选项,转储同时压缩。

errors address  专储时的错误信息发送到指定的Email 地址

mail address  把转储的日志文件发送到指定的E-mail 地址

olddir directory转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统

noolddir 转储后的日志文件和当前日志文件放在同一个目录下

postrotate/endscript 在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行

rotate count指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份

范例:

#1显示转储过程,强制进行

[root@localhost ~]# /usr/sbin/logrotate -vf/etc/logrotate.conf

#2为日志/var/log/lastlog配置,在配置文件/etc/logrotate.conf末尾添加如下代码:

/var/log/lastlog {

monthly

rotate 1

}

 

 

 

 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值