Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> Linux系統故障排除日志:Logrotate

Linux系統故障排除日志:Logrotate

日期:2017/2/7 9:22:22      編輯:Linux教程

 

Logrote是用來定期重命名和重新使用系統錯誤日志文件的一個應用程序。它可以保證日志文件不會占用太大的磁盤空間。

/etc/logrotate.conf 文件

它logrotate的一般性配置文件。你可以通過它設置那個文件被重用以及多久重用一次。

  • 你可以設定循環參數為每周或每天。在下面這個例子中,“每周”這個參數被“#”注釋了,保留“每天”參數。
  • 循環參賽還可定義一個保留多少份日志文件備份。下面這個例子中保留4份,7份的參數被注釋了。
  • 創建參數在每輪循環後新建一個日志文件。

因此,在我們的示例中,將所有的日志文件每天備份,而且將他們保留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]#

 

 

Copyright © Windows教程網 All Rights Reserved