本篇內(nèi)容介紹了“Linux系統(tǒng)下Logrotate服務(wù)介紹”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供孝感企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站設(shè)計(jì)、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為孝感眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。
對于日常管理linux來說,日志文件顯得非常的重要,它可以看出問題出現(xiàn)的點(diǎn)與相關(guān)錯(cuò)誤信息,同樣還可以根據(jù)信息來分析問題所出現(xiàn)的原因所在,是管理系統(tǒng)與服務(wù)必不可少的工具之一。
logrotate是個(gè)十分有用的工具,它可以自動(dòng)對日志進(jìn)行截?cái)啵ɑ蜉喲?、壓縮以及刪除舊的日志文件。例如,你可以設(shè)置logrotate,讓/var/log/XXX日志文件每10天輪循,并刪除超過1個(gè)月的日志。配置完后,logrotate的運(yùn)作完全自動(dòng)化,其實(shí)與系統(tǒng)的定時(shí)任務(wù)調(diào)用自定義腳本作用相同,它的運(yùn)行也是定時(shí)任務(wù)來調(diào)用它的配置文件,從而實(shí)現(xiàn)上述效果的
安裝命令非常簡單(一般系統(tǒng)都會(huì)默認(rèn)安裝)
yum install logrotate crontabs
配置文件目錄
/etc/logrotate.d
#所有需要此功能的配置文件存放目錄
[root@centos logrotate.d]# cat zabbix-agent
/var/log/zabbix/zabbix_agentd.log {
daily
rotate 12
compress
delaycompress
missingok
notifempty
create 0664 zabbix zabbix
}
參數(shù)說明
daily #指定轉(zhuǎn)儲周期為每天
weekly #指定轉(zhuǎn)儲周期為每周
monthly #指定轉(zhuǎn)儲周期為每月
rotate 12 #轉(zhuǎn)儲的次數(shù)
compress #通過gzip壓縮轉(zhuǎn)儲以后的日志
nocompress #不需要壓縮時(shí),用這個(gè)參數(shù)
copytruncate
#用于還在打開中的日志文件,把當(dāng)前日志備份并截?cái)?/p>
nocopytruncate
#備份日志文件但是不截?cái)?/p>
delaycompress
#和compress一起使用時(shí),轉(zhuǎn)儲的日志文件到下一次轉(zhuǎn)儲時(shí)才壓縮
notifempty
#如果是空文件的話,不轉(zhuǎn)儲
postrotate/endscript
#在轉(zhuǎn)儲以后需要執(zhí)行的命令可以放入這個(gè)對,這兩個(gè)關(guān)鍵字必須單獨(dú)成行
sharedscripts 運(yùn)行postrotate腳本,作用是在所有日志都輪轉(zhuǎn)后統(tǒng)一執(zhí)行一次腳本。如果沒有配置那么每個(gè)日志輪轉(zhuǎn)后都會(huì)執(zhí)行一次腳本
size size
#當(dāng)日志文件到達(dá)指定的大小時(shí)才轉(zhuǎn)儲,Size可以指定bytes(缺省)以及KB(sizek)或者M(jìn)B(sizem)
1、系統(tǒng)的定時(shí)任務(wù)來運(yùn)行/etc/cron.daily/logrotate
[root@ ~]# cat /etc/cron.daily/logrotate
#!/bin/sh
/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
/usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0
2、每天通過執(zhí)行/usr/sbin/logrotate命令調(diào)用/etc/logrotate.conf這個(gè)配置文件
[root@resources ~]# cat /etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly
# keep 4 weeks worth of backlogs
rotate 4
# create new (empty) log files after rotating old ones
create
# use date as a suffix of the rotated file
dateext
# uncomment this if you want your log files compressed
#compress
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
minsize 1M
rotate 1
}
/var/log/btmp {
missingok
monthly
create 0600 root utmp
rotate 1
}
# system-specific logs may be also be configured here.
3、最終調(diào)用/etc/logrotate.d下面的配置文件執(zhí)行相關(guān)操作
[root@ logrotate.d]# cat vsftpd
/var/log/vsftpd.log {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
/var/log/xferlog {
# ftpd doesn't handle SIGHUP properly
nocompress
missingok
}
需要注意的是當(dāng)/etc/logrotate.conf讀入文件時(shí),include指定的文件中的參數(shù)會(huì)覆蓋默認(rèn)的參數(shù)
______________分享一個(gè)切割nginx日志的例子________________
vim /etc/logrotate.d/nginx
##############################
# for cut nginx log everyday
# create by mingongge at 2017-05-31
##############################
/var/log/nginx/*.log {
daily
rotate 7
missingok
notifempty
dateext
sharedscripts
postrotate
if [ -f /usr/local/nginx/logs/nginx.pid ];then
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
fi
endscript
}
上下兩個(gè)配置實(shí)現(xiàn)的效果相同,請各自參考按需配置
vim /servser/scripts/auto_cut_nginxlog.sh
#!/bin/sh
#####################################
# this scripts for auto cut nginx log everyday
# create by mingongge at 2017-05-31
#####################################
LOGDIR=/var/log/nginx/
DATE=`date +%F`
mv $LOGDIR/access.log $LOGDIR/nginx_access.${DATE}.log
mv $LOGDIR/error.log $LOGDIR/nginx_error.${DATE}.log
kill -USR1 `cat /var/run/nginx.pid`
cd $LOGDIR
find ./ -name “*.log” –mtime +30 |xargs -i mv {} /tmp/
#實(shí)際生產(chǎn)環(huán)境大家還是要小心使用rm命令,或者說最好禁用此命令改用mv(后悔藥哦!!)
“Linux系統(tǒng)下Logrotate服務(wù)介紹”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!