日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux logrotate日志切割详解

發布時間:2024/4/13 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux logrotate日志切割详解 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,對于Linux系統安全來說,日志文件是極其重要的工具。不知為何,我發現很多運維同學的服務器上都運行著一些諸如每天切分Nginx日志之類的CRON腳本,大家似乎遺忘了Logrotate,爭相發明自己的輪子,這真是讓人沮喪啊!就好比明明身邊躺著現成的性感美女,大家卻忙著自娛自樂,罪過!logrotate程序是一個日志文件管理工具。用于分割日志文件,刪除舊的日志文件,并創建新的日志文件,起到“轉儲”作用。可以節省磁盤空間。

2,logrotate 配置文件介紹
Linux系統默認安裝logrotate工具,它默認的配置文件在:

Logrotate是基于CRON來運行的,其腳本是/etc/cron.daily/logrotate,日志輪轉是系統自動完成的。
實際運行時,Logrotate會調用配置文件/etc/logrotate.conf。
可以在/etc/logrotate.d目錄里放置自定義好的配置文件,用來覆蓋Logrotate的缺省值。

如果等不及cron自動執行日志輪轉,想手動強制切割日志,需要加-f參數;不過正式執行前最好通過Debug選項來驗證一下(-d參數),這對調試也很重要
#/usr/sbin/logrotate -f /etc/logrotate.d/nginx
#/usr/sbin/logrotate -d -f /etc/logrotate.d/nginx
logrotate命令格式:
logrotate [OPTION...] <configfile>
-d, --debug :debug模式,測試配置文件是否有錯誤。
-f, --force :強制轉儲文件。
-m, --mail=command :壓縮日志后,發送日志到指定郵箱。
-s, --state=statefile :使用指定的狀態文件。
-v, --verbose :顯示轉儲過程
根據日志切割設置進行操作,并顯示詳細信息
#logrotate -v /etc/logrotate.conf
根據日志切割設置進行執行,并顯示詳細信息,但是不進行具體操作,debug模式
#logrotate -d /etc/logrotate.conf
查看各log文件的具體執行情況

3,切割介紹
比如以系統日志/var/log/message做切割來簡單說明下:
第一次執行完rotate(輪轉)之后,原本的messages會變成messages.1,而且會制造一個空的messages給系統來儲存日志;
第二次執行之后,messages.1會變成messages.2,而messages會變成messages.1,又造成一個空的messages來儲存日志!
如果僅設定保留三個日志(即輪轉3次)的話,那么執行第三次時,則 messages.3這個檔案就會被刪除,并由后面的較新的保存日志所取代!也就是會保存最新的幾個日志。
日志究竟輪換幾次,這個是根據配置文件中的dateext 參數來判定的。

看下logrotate.conf配置:
#cat /etc/logrotate.conf
#底下的設定是 "logrotate 的默認值" ,如果別的文件設定了其他的值,
#就會以其它文件的設定為主
weekly //默認每一周執行一次rotate輪轉工作
rotate 4 //保留多少個日志文件(輪轉幾次).默認保留四個.就是指定日志文件刪除之前輪轉的次數,0 指沒有備份
create //自動創建新的日志文件,新的日志文件具有和原來的文件相同的權限;因為日志被改名,因此要創建一個新的來繼續存儲之前的日志
dateext //這個參數很重要!就是切割后的日志文件以當前日期為格式結尾,如xxx.log-20131216這樣,如果注釋掉,切割出來是按數字遞增,即前面說的 xxx.log-1這種格式
compress //是否通過gzip壓縮轉儲以后的日志文件,如xxx.log-20131216.gz ;如果不需要壓縮,注釋掉就行

include /etc/logrotate.d
#將 /etc/logrotate.d/ 目錄中的所有文件都加載進來

/var/log/wtmp { //僅針對 /var/log/wtmp 所設定的參數
monthly //每月一次切割,取代默認的一周
minsize 1M //文件大小超過 1M 后才會切割
create 0664 root utmp //指定新建的日志文件權限以及所屬用戶和組
rotate 1 //只保留一個日志.
}
#這個 wtmp 可記錄用戶登錄系統及系統重啟的時間
#因為有 minsize 的參數,因此不見得每個月一定會執行一次喔.要看文件大小。
#由這個文件的設定可以知道/etc/logrotate.d其實就是由/etc/logrotate.conf 所規劃出來的目錄,雖然可以將所有的配置都寫入/etc/logrotate.conf ,但是這樣一來這個文件就實在是太復雜了,尤其是當使用很多的服務在系統上面時, 每個服務都要去修改/etc/logrotate.conf的設定也似乎不太合理了。
所以,如果獨立出來一個目錄,那么每個要切割日志的服務, 就可以獨自成為一個文件,并且放置到 /etc/logrotate.d/ 當中
其他重要參數說明
#--------------------------------------------------------------------------------------------
compress 通過gzip 壓縮轉儲以后的日志
nocompress 不做gzip壓縮處理
copytruncate 用于還在打開中的日志文件,把當前日志備份并截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日志數據。
nocopytruncate 備份日志文件不過不截斷
create mode owner group 輪轉時指定創建新文件的屬性,如create 0777 nobody nobody
nocreate 不建立新的日志文件
delaycompress 和compress 一起使用時,轉儲的日志文件到下一次轉儲時才壓縮
nodelaycompress 覆蓋 delaycompress 選項,轉儲同時壓縮。
missingok 如果日志丟失,不報錯繼續滾動下一個日志
errors address 專儲時的錯誤信息發送到指定的Email 地址
ifempty 即使日志文件為空文件也做輪轉,這個是logrotate的缺省選項。
notifempty 當日志文件為空時,不進行輪轉
mail address 把轉儲的日志文件發送到指定的E-mail 地址
nomail 轉儲時不發送日志文件
olddir directory 轉儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統
noolddir 轉儲后的日志文件和當前日志文件放在同一個目錄下
sharedscripts 運行postrotate腳本,作用是在所有日志都輪轉后統一執行一次腳本。如果沒有配置這個,那么每個日志輪轉后都會執行一次腳本
prerotate 在logrotate轉儲之前需要執行的指令,例如修改文件的屬性等動作;必須獨立成行
postrotate 在logrotate轉儲之后需要執行的指令,例如重新啟動 (kill -HUP) 某個服務!必須獨立成行
daily 指定轉儲周期為每天
weekly 指定轉儲周期為每周
monthly 指定轉儲周期為每月
rotate count 指定日志文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份
dateext 使用當期日期作為命名格式
dateformat .%s 配合dateext使用,緊跟在下一行出現,定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數
size(或minsize) log-size 當日志文件到達指定的大小時才轉儲,log-size能指定bytes(缺省)及KB (sizek)或MB(sizem).
當日志文件 >= log-size 的時候就轉儲。 以下為合法格式:(其他格式的單位大小寫沒有試過)
size = 5 或 size 5 (>= 5 個字節就轉儲)
size = 100k 或 size 100k
size = 100M 或 size 100M

4,實例

5,解決logrotate無法自動輪詢日志的辦法
現象說明:
使用logrotate輪詢nginx日志,配置好之后,發現nginx日志連續兩天沒被切割,這是為什么呢??
然后開始檢查日志切割的配置文件是否有問題,檢查后確定配置文件一切正常。
于是懷疑是logrotate預定的cron沒執行,查看了cron的日志,發現有一條Dec 7 04:02:01 www crond[18959]: (root) CMD (run-parts /etc/cron.daily)這樣的日志,證明cron在04:02分時已經執行/etc/cron.daily目錄下的程序。
接著查看/etc /cron.daily/logrotate(這是logrotate自動輪轉的腳本)的內容:

沒有發現異常,配置好的日志輪轉操作都是由這個腳本完成的,一切運行正常,腳本應該就沒問題。
直接執行命令:

這些系統日志是正常輪詢了,但nginx日志卻還是沒輪詢
接著強行啟動記錄文件維護操作,縱使logrotate指令認為沒有需要,應該有可能是logroate認為nginx日志太小,不進行輪詢。
故需要強制輪詢,即在/etc/cron.daily/logrotate腳本中將 -t 參數替換成 -f 參數

最后最后重啟下cron服務:

6,可供參考內容
https://www.cnblogs.com/kevingrace/p/6307298.html

轉載于:https://blog.51cto.com/13718210/2163017

總結

以上是生活随笔為你收集整理的Linux logrotate日志切割详解的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 天天干天天爽 | 丝袜 亚洲 另类 国产 制服 | 打白嫩屁屁网站视频短裙 | 精品午夜一区二区 | 免费黄色大片网站 | 中文字幕有码无码人妻av蜜桃 | 欧美激情视频一区二区三区在线播放 | 成年人av| 国产成人一区二区三区小说 | 人人妻人人澡人人爽 | 最新视频–x99av | 亚洲精品久久久久久无码色欲四季 | 日本一区二区高清免费 | 影音先锋中文字幕在线播放 | 亚洲免费观看在线 | 18我禁在线观看 | 日本黄色片网址 | 少妇导航av | 免费观看黄色网址 | 日本不卡视频 | 国产女人叫床高潮大片免费 | 精品一区免费观看 | 久久五| 国产成人精品亚洲 | 欧美绿帽合集xxxxx | 亚洲国产精品久久久久婷蜜芽 | 日日射日日干 | 日韩va| 国产高清免费视频 | 日本理伦片午夜理伦片 | 国产男女猛烈无遮挡a片漫画 | 小日子的在线观看免费第8集 | 精品一区二区av | 看片国产 | 这里只有久久精品 | 男男啪啪无遮挡 | 国产亚洲毛片 | 青娱乐99 | 国产高清精品一区二区三区 | 99在线精品视频 | 亚洲人做受 | 成人一区二区电影 | 91精品国产自产精品男人的天堂 | 小敏的受孕日记h | 亚洲无人区码一码二码三码的含义 | 亲嘴扒胸摸屁股免费视频日本网站 | 爱爱视频网| 在线观看免费av网站 | 嫩草免费视频 | 在线观看污 | 欧美性视频网站 | 亚洲三区在线 | 午夜精品久久久久久久99热黄桃 | 欧美中文字幕第一页 | 日韩精品在线视频免费观看 | 国产在线观看xxx | 亚洲涩综合 | 亚洲xx站| 污污的网站在线观看 | 91美女片黄在线观看91美女 | 青青草超碰 | 午夜888 | 深夜的私人秘书 | 欧美亚洲丝袜 | 天天摸天天射 | 久久久久久久久久一区二区三区 | 亚洲a在线播放 | 国产福利视频一区 | 91免费观看入口 | wwwwxxxx国产| 中文亚洲av片不卡在线观看 | www.黄色片| 国产精品三级久久久久久电影 | 成人h片 | 国产高清精品软件丝瓜软件 | 国产一级免费大片 | 欧美性猛交xxxx黑人猛交 | 一区二区三区四区五区在线视频 | 激情啪啪网 | 成人在线超碰 | 黄色小视频免费观看 | 97久久国产精品 | 日韩精品人妻一区二区三区免费 | 国产日批视频在线观看 | www视频在线| 超碰人人人人人人人 | 亚洲先锋影音 | 永久免费AV无码网站韩国毛片 | 台湾a级片 | 97视频在线免费观看 | 久久久久久国产精品免费免费 | 欧美夜夜骑 | 国产51视频 | 91综合国产 | www.黄色. | 秋葵视频在线 | 手机版av| 亚洲欧美中文日韩在线观看 | 白嫩情侣偷拍呻吟刺激 |