一.日志轮询
1.配置文件:/etc/logrotate.conf或/etc/logrotate.d/
2.syslog是利用deamon的方式来启动的,当有需求的时候会立刻被执行,但logrotate是由定时任务来执行,即挂在cron下执行的;
3.使用
日志文件的绝对路径名 ...{
参数设置
}
4.参数:
compress:通过gzip 压缩转储以后的日志;
nocompress:不需要压缩时;
prerotate/endscript :在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行;
postrotate/endscript:在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行;
daily:指定转储周期为每天;
weekly:指定转储周期为每周;
monthly:指定转储周期为每月;
rotate count:指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份;
size size 当日志文件到达指定的大小时才转储,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem)。
5.测试logrotate
logrotate [-vf] log_file
-v:启动显示模式,会显示logrotate运行的过程;
-f:无论是否符合配置文件的数据,强制每个日志文件都进行rotate的操作;
6.例:
chattr +a /var/log/admin.log
vim /etc/logrotate.d/admin.log
/var/og/admin.log {
monthly ===========>每个月进行一次
size=10M ===========>文件大小大于10M则开始处理
rotate 5 ===========>保留五个
compress ===========>压缩
sharedscripts
prerotate
/usr/bin/chattr -a /var/log/admin.log ===========>处理前先去除文件a属性
endscript
sharedscripts
postrotate
/usr/bin/killall -HUP syslogd
/usr/bin/chattr +a /var/log/admin.log =============>处理后增加文件的a属性
endscript
}
logrotate -v /etc/logrotate.conf
logrotate -vf /etc/logrotate.d/admin.log