注:針對任何日志文件(rsyslog 日志丐重、Nginx訪問或錯誤日志...)
一、logrotate (輪轉(zhuǎn)拱层,日志切割)
1. 如果沒有日志輪轉(zhuǎn)弥臼,日志文件會越來越大
2. 將丟棄系統(tǒng)中最舊的日志文件,以節(jié)省空間
3. logrotate本身不是系統(tǒng)守護進程根灯,它是通過計劃任務crond每天執(zhí)行
logrotate 配置文件:
/etc/logrotate.conf (決定每個日志文件如何輪轉(zhuǎn)) /etc/logrotate.d/*
[root@fanhua ~]# ls /etc/logrotate.conf /etc/logrotate.d/
/etc/logrotate.conf
/etc/logrotate.d/:
acpid cups iscsiuiolog ppp rpm subscription-manager up2date wpa_supplicant conman httpd mgetty psacct setroubleshoot syslog vsftpd.log yum
主配置文件
[root@fanhua ~]# vim /etc/logrotate.conf
weekly //輪轉(zhuǎn)的周期径缅,一周輪轉(zhuǎn)
rotate 4 //保留4份
create //輪轉(zhuǎn)后創(chuàng)建新文件
dateext //使用日期作為后綴
#compress //日志輪替時,舊的日志進行壓縮
include /etc/logrotate.d //包含該目錄下的配置文件
/var/log/wtmp { //對該日志文件設(shè)置輪轉(zhuǎn)的方法
monthly //一月輪轉(zhuǎn)一次
minsize 1M //最小達到1M才輪轉(zhuǎn),否則就算時間到了也不輪轉(zhuǎn)
create 0664 root utmp //輪轉(zhuǎn)后創(chuàng)建新文件掺栅,并設(shè)置權(quán)限
rotate 1 //保留一份
}
/var/log/btmp {
missingok //丟失不提示
monthly //每月輪轉(zhuǎn)一次
create 0600 root utmp //輪轉(zhuǎn)后創(chuàng)建新文件,并設(shè)置權(quán)限
rotate 1 //保留一份
}
例1:輪轉(zhuǎn)文件/var/log/yum.log
vim /etc/logrotate.d/yum
/var/log/yum.log {
missingok //丟失不提醒
#notifempty // 空文件不輪轉(zhuǎn)
#size 30k //只要到了30k就輪轉(zhuǎn)
#yearly
daily //每天輪轉(zhuǎn)一次
rotate 3
create 0777 root root
}
測試:
[root@localhost]# /usr/sbin/logrotate /etc/logrotate.conf //手動輪轉(zhuǎn)
[root@localhost]# /usr/sbin/logrotate -f /etc/logrotate.conf //強制手動輪轉(zhuǎn)
[root@localhost apache]# logrotate -f /etc/logrotate.d/yum
[root@localhost apache]# ls /var/log/yum*
/var/log/yum.log /var/log/yum.log.1 /var/log/yum.log-20200104
[root@localhost ]# grep yum /var/lib/logrotate/logrotate.status //記錄所有日志文件最近輪轉(zhuǎn)的時間 "/var/log/yum.log" 2017-3-31-10:0:23
#/usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf //根據(jù)狀態(tài)文件纳猪,規(guī)則文件進行輪轉(zhuǎn)