logrotate
系統日誌進行輪轉、壓縮和刪除
補充說明
logrotate命令 用於對系統日誌進行輪轉、壓縮和刪除,也可以將日誌發送到指定郵箱。使用logrotate指令,可讓你輕鬆管理系統所產生的記錄文件。每個記錄文件都可被設置成每日,每週或每月處理,也能在文件太大時立即處理。您必須自行編輯,指定配置文件,預設的配置文件存放在/etc/logrotate.conf
文件中。
語法
1logrotate(選項)(參數)
選項
1-?或--help:在線幫助;
2-d或--debug:詳細顯示指令執行過程,便於排錯或瞭解程序執行的情況;
3-f或--force :強行啓動記錄文件維護操作,縱使logrotate指令認爲沒有需要亦然;
4-s<狀態文件>或--state=<狀態文件>:使用指定的狀態文件;
5-v或--version:顯示指令執行過程;
6-usage:顯示指令基本用法。
參數
配置文件:指定lograote指令的配置文件。
實例
crontab 會定時調用logrotate命令 在 /etc/cron.daily/logrotate
文件中配置使用
logrotate的配置文件/etc/logrotate.conf
定義引用/etc/logrotate.d
目錄下的一些自定義的log配置
在/etc/logrotate.d
目錄下創建任意後綴名的文件,即可使用對日誌進行輪轉
1/tmp/log/log.txt
2{
3 copytruncate
4 daily
5 rotate 30
6 missingok
7 ifempty
8 compress
9 noolddir
10}
這個配置文件代表的意思是將/tmp/log/log.txt
文件 進行輪轉壓縮
1compress 通過gzip 壓縮轉儲以後的日誌
2nocompress 不做gzip壓縮處理
3copytruncate 用於還在打開中的日誌文件,把當前日誌備份並截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日誌數據。
4nocopytruncate 備份日誌文件不過不截斷
5create mode owner group 輪轉時指定創建新文件的屬性,如create 0777 nobody nobody
6nocreate 不建立新的日誌文件
7delaycompress 和compress 一起使用時,轉儲的日誌文件到下一次轉儲時才壓縮
8nodelaycompress 覆蓋 delaycompress 選項,轉儲同時壓縮
9missingok 如果日誌丟失,不報錯繼續滾動下一個日誌
10errors address 專儲時的錯誤信息發送到指定的Email 地址
11ifempty 即使日誌文件爲空文件也做輪轉,這個是logrotate的缺省選項。
12notifempty 當日志文件爲空時,不進行輪轉
13mail address 把轉儲的日誌文件發送到指定的E-mail 地址
14nomail 轉儲時不發送日誌文件
15olddir directory 轉儲後的日誌文件放入指定的目錄,必須和當前日誌文件在同一個文件系統
16noolddir 轉儲後的日誌文件和當前日誌文件放在同一個目錄下
17sharedscripts 運行postrotate腳本,作用是在所有日誌都輪轉後統一執行一次腳本。如果沒有配置這個,那麼每個日誌輪轉後都會執行一次腳本
18prerotate 在logrotate轉儲之前需要執行的指令,例如修改文件的屬性等動作;必須獨立成行
19postrotate 在logrotate轉儲之後需要執行的指令,例如重新啓動 (kill -HUP) 某個服務!必須獨立成行
20daily 指定轉儲週期爲每天
21weekly 指定轉儲週期爲每週
22monthly 指定轉儲週期爲每月
23rotate count 指定日誌文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份
24dateext 使用當期日期作爲命名格式
25dateformat .%s 配合dateext使用,緊跟在下一行出現,定義文件切割後的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數
26size(或minsize) log-size 當日志文件到達指定的大小時才轉儲
注意事項
在/etc/logrotate.d
目錄下創建任意後綴名的文件
1/tmp/log/log*
2{
3 copytruncate
4 daily
5 rotate 30
6 missingok
7 ifempty
8 compress
9 noolddir
10}
這種情況下,會將輪轉過的log再重新輪轉,因爲輪轉過後的文件名也是已log開頭的
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。