Linux系統日志切割
如果服務器有大量的用戶的話,這些日志文件的大小會很快地增加,在服務器硬盤不是非常充足的情況下,必須采取措施防止日志文件將硬盤撐爆。現代的Linux版本都有一個小程序,名為logrotate,用來幫助用戶管理日志文件,它以自己的守護進程工作。logrotate周期性地旋轉日志文件,可以周期性地把每個日志文件重命名成一個備份名字,然后讓它的守護進程開始使用一個日志文件的新的拷貝。這就是為什么在/var/log/下看到許多諸如maillog、maillog.1、maillog.2、boot.log.1、boot.log.2之類的文件名。它由一個配置文件驅動,該文件是/etc/logroatate.conf,下面是它的一個范例:
# see "man logrotate" for details
# rotate log files weekly
weekly
#以7天為一個周期
# keep 4 weeks worth of backlogs
rotate 4
#每隔4周備份日志文件
# send errors to root
errors root
#發生錯誤向root報告
# create new (empty) log files after rotating old ones
create
#轉完舊的日志文件就創建新的日志文件
# uncomment this if you want your log files compressed
#compress
#指定是否壓縮日志文件
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
#表示/etc/logrotate.d目錄下的所有配置文件都生效
# no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp { --針對wtmp單獨的配置,這里是絕對路徑
monthly --一個月rotate一次,取代上面的全局配置里的一個星期一次
minsize 1M --指定最小大小為1M,才rotate,就算是時間到了,大小沒有1M,也不rotate
create 0664 root utmp --定義創建的為屬性為0664,屬主為root,屬組utmp
rotate 1 --保留一個
}
logrotate -vf /etc/logrotate.conf --強制輪轉日志,並查看輪轉的過程
# system-specific logs may be configured here
參 數:
-?或--help 在線幫助。
-d或--debug 詳細顯示指令執行過程,便於排錯或了解程序執行的情況。
-f或--force 強行啟動記錄文件維護操作,縱使logrotate指令認為沒有需要亦然。
-s<狀態文件>或--state=<狀態文件> 使用指定的狀態文件。
-v或--version 顯示指令執行過程。
-usage 顯示指令基本用法。