您的位置:首页 > 运维架构 > Linux

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

2018-03-03 22:06 701 查看
命令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
}
 
 
 
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: