linux日誌分割處理工具logrotate

2021-07-29 11:25:10 字數 1222 閱讀 3642

logrotate 程式是乙個日誌檔案管理工具。用來把舊的日誌檔案刪除,並建立新的日誌檔案,我們把它叫做「轉儲」。我們可以根據日誌檔案的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程式來執行。

logrotate 程式還可以用於壓縮日誌檔案,以及傳送日誌到指定的e-mail 。

logrotate是基於cron來執行的,其指令碼是「/etc/cron.daily/logrotate」

實際執行時,logrotate會呼叫配置檔案「/etc/logrotate.conf」

這裡的設定可以理解為logrotate的預設值,當然了,可以我們在「/etc/logrotate.d」目錄裡放置自己的配置檔案,用來覆蓋logrotate的預設值。

logrotate 是安裝系統時就可以裝上去的,很多的大流量**都是使用這個來進行log的切換。

不用 kill nginx pid, 不用restart nginx,只要重新載入一下就可以了。

nginx日誌分割:

在/etc/logrotate.d/目錄下生成nginx檔案

/mnt/nginx/logs/*.log

如果你等不及cron,可以通過如下命令來手動執行:

shell> logrotate -f /etc/logrotate.d/nginx

當然,正式執行前最好通過debug選項來驗證一下,這對除錯也很重要,驗證的過程不會真的轉存:

shell> logrotate -d -f /etc/logrotate.d/nginx

logrotate的備份策略(以兩個備份來說明,即rotate 2,檔案error.log):原始檔案error.log,經過一次轉儲,會生成error.log.1;第二次轉儲,生成error.log.2;第三次轉儲,error.log.n命名為error.log.n+1,同時生成新的error.log.1,刪除error.log.n+1檔案。

日誌切割的執行時間是由cron程配置決定的,可檢視/etc/crontab檔案(cron時間戳格式:分時日月周)

postrotate

[ -f /var/run/nginx.pid ] && kill -usr1 `cat /var/run/nginx.pid`

`cp -f /var/log/nginx/*.* /var/log/nginx/backup`

//自定義指令碼,將舊日誌copy到backup資料夾(backup要存在)

cat /var/lib/logrotate.status

linux日誌分割處理工具logrotate

logrotate 程式是乙個日誌檔案管理工具。用來把舊的日誌檔案刪除,並建立新的日誌檔案,我們把它叫做 轉儲 我們可以根據日誌檔案的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程式來執行。logrotate 程式還可以用於壓縮日誌檔案,以及傳送日誌到指定的e mail logrota...

linux的檔案處理工具

檔案檢視命令 cat,nl,tac,rev cat 命令 選項 e 顯示行結束符 n 對顯示出的每一行進行編號 a 顯示所有控制符 b 非空行編號 s 壓縮連續的空行成一行 more 分頁檢視檔案 d 顯示翻頁及退出提示 less 一頁一頁地檢視檔案或stdin輸出 檢視時有用的命令包括 文字 搜尋...

日誌分割工具logrotate

eoflogrotate d etc logrotate.d mymon 測試 logrotate vf etc logrotate.d mymon 強制執行簡單說明引數daily 每日執行,weekly,yearly rotate 5 儲存幾份 missingok 忽略logrotate執行時的錯...