Logrote是用來定期重命名和重新使用系統錯誤日志文件的一個應用程序。它可以保證日志文件不會占用太大的磁盤空間。
/etc/logrotate.conf 文件
它logrotate的一般性配置文件。你可以通過它設置那個文件被重用以及多久重用一次。
因此,在我們的示例中,將所有的日志文件每天備份,而且將他們保留7天。這些日志文件將會有如下的文件名形式:
logfile logfile.0 logfile.1 logfile.2 logfile.3 logfile.4 logfile.5 logfile.6
/etc/logrotate.conf 文件示例
# rotate log files weekly (每周循環更新記錄日志文件)
#weekly
# rotate log files daily (每天。。。 。。。)
daily
# keep 4 weeks worth of backlogs (保留4周內的日志文件備份)
#rotate 4
# keep 7 days worth of backlogs (保留七日內日志文件備份)
rotate 7
# create new (empty) log files after rotating old ones (在循環掉就的文件時創建新的空日志文件)
create
/etc/logrotate.d 文件夾
許多需要使用syslog的Linux應用程序會將它們的設置文件放置在這個文件夾中以使它們的日志文件實現輪轉,並且以它們特有的名字命名。你最好經常查證所有新安裝的使用syslog的軟件是否在這個文件夾中留有配置文件。下面給出一些示例,它們給特定的軟件指定特定的日志輪轉文件。
現在在這個目錄下有一個示例文件,它將/data/backups文件將中的文件以.tgz格式來輪轉。在這個文件中的參數將覆蓋在/etc/logrotate.conf文件中的設置。在這個例子中,輪轉文件將不會被壓縮,而且它們非空的情況下將保存30天。它們的文件將所屬為root,權限設置為600.
/data/backups/*.tgz { daily rotate 30 nocompress missingok notifempty create 0600 root root }
注意:在Debian/Ubuntu系統中,/etc/cron.daily.sysklogd腳本將讀取/etc/syslog.conf文件,並根據它輪轉所有設定的日志文件。所以,對於一般的系統日志,你不必再在/etc/logrotate.d文件夾中重復設定了。因為在 /etc/cron.daily文件夾中它沒24小時便運行一次。在Fedora/Redhat系統中,這個腳本被/etc/cron.daily/logrotate取代。而且它不讀取syslog配置文件。所以,你必須在/etc/logrotate.d設置好。
激活logrotate
以上對logrotate的設置只有在你使用下面命令時才會生效:
[root@bigboy tmp]# logrotate -f
如果你想讓logrotate只讀取特定的配置文件而不是所有,把配置文件名作為logrotate的參數運行:
[root@bigboy tmp]# logrotate -f /etc/logrotate.d/syslog
Compressing Your Log Files
如果你的網頁訪問量比較高,那麼日志文件將變得異常大。你可以通過編輯logrotate.conf 文件加入壓縮選項來實現對日志文件的壓縮。
# # File: /etc/logrotate.conf # # Activate log compression 激活日志壓縮功能 compress
這些日志文件將用gzip來壓縮,所有的文件將會有一個.gz的擴展名。
[root@bigboy tmp]# ls /var/log/messages* /var/log/messages /var/log/messages.1.gz /var/log/messages.2.gz /var/log/messages.3.gz /var/log/messages.4.gz /var/log/messages.5.gz /var/log/messages.6.gz /var/log/messages.7.gz [root@bigboy tmp]#
查看這些文件的內容依然很容易,因為你可以用zcat命令快速的將它們的內容顯示在屏幕上。
[root@bigboy tmp]# zcat /var/log/messages.1.gz
...
...
Nov 15 04:08:02 bigboy httpd: httpd shutdown succeeded
Nov 15 04:08:04 bigboy httpd: httpd startup succeeded
Nov 15 04:08:05 bigboy sendmail[6003]: iACFMLHZ023165: to=<[email protected]>, delay=2+20:45:44, xdelay=00:00:02, mailer=esmtp, pri=6388168, relay=www.clematis4spiders.info. [222.134.66.34], dsn=4.0.0, stat=Deferred: Connection refused by www.clematis4spiders.info.
[root@bigboy tmp]#