歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 使用logrotate來管理linux上的日志

使用logrotate來管理linux上的日志

日期:2017/3/2 16:34:40   编辑:Linux服務器

對於Linux 的系統安全來說,日志文件是極其重要的工具。

  系統管理員可以使用logrotate 程序用來管理系統中的最新的事件。logrotate 還可以用來備份日志文件,本篇將通過以下幾部分來介紹

  日志文件的管理:

  1、logrotate 配置

  2、缺省配置 logrotate

  3、使用include 選項讀取其他配置文件

  4、使用include 選項覆蓋缺省配置

  5、為指定的文件配置轉儲參數

  一、logrotate 配置

  logrotate 程序是一個日志文件管理工具。用來把舊的日志文件刪除,並創建新的日志文件,我們把它叫做“轉儲”。我們可以根據日志文件的大小,也可以根據其天數來轉儲,這個過程一般通過 cron 程序來執行。

  logrotate 程序還可以用於壓縮日志文件,以及發送日志到指定的E-mail 。

  logrotate 的配置文件是 /etc/logrotate.conf。主要參數如下表:

  參數 功能

  compress 通過gzip 壓縮轉儲以後的日志

  nocompress 不需要壓縮時,用這個參數

  copytruncate 用於還在打開中的日志文件,把當前日志備份並截斷

  nocopytruncate 備份日志文件但是不截斷

  create mode owner group 轉儲文件,使用指定的文件模式創建新的日志文件

  nocreate 不建立新的日志文件

  delaycompress 和 compress 一起使用時,轉儲的日志文件到下一次轉儲時才壓縮

  nodelaycompress 覆蓋 delaycompress 選項,轉儲同時壓縮。

  errors address 專儲時的錯誤信息發送到指定的Email 地址

  ifempty 即使是空文件也轉儲,這個是 logrotate 的缺省選項。

  notifempty 如果是空文件的話,不轉儲

  mail address 把轉儲的日志文件發送到指定的E-mail 地址

  nomail 轉儲時不發送日志文件

  olddir directory 轉儲後的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統

  noolddir 轉儲後的日志文件和當前日志文件放在同一個目錄下

  prerotate/end 在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行

  postrotate/end 在轉儲以後需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行

  daily 指定轉儲周期為每天

  weekly 指定轉儲周期為每周

  monthly 指定轉儲周期為每月

  rotate count 指定日志文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份

  tabootext [+] list 讓logrotate 不轉儲指定擴展名的文件,缺省的擴展名是:.rpm-orig, .rpmsave, v, 和 ~

  size size 當日志文件到達指定的大小時才轉儲,Size 可以指定 bytes (缺省)以及KB (sizek)或者MB (sizem).

  二、缺省配置 logrotate

  logrotate 缺省的配置募 ?/etc/logrotate.conf。

  Red Hat Linux 缺省安裝的文件內容是:

  # see "man logrotate" for details

  # rotate log files weekly

  weekly

  # keep 4 weeks worth of backlogs

  rotate 4

  # send errors to root

  errors root

  # create new (empty) log files after rotating old ones

  create

  # uncomment this if you want your log files compressed

  #compress

  1

  # RPM packages drop log rotation information into this directory

  include /etc/logrotate.d

  # no packages own lastlog or wtmp --we'll rotate them here

  /var/log/wtmp {

  monthly

  create 0664 root utmp

  rotate 1

  }

  /var/log/lastlog {

  monthly

  rotate 1

  }

  # system-specific logs may be configured here

  缺省的配置一般放在logrotate.conf 文件的最開始處,影響整個系統。在本例中就是前面12行。

  第三行weekly 指定所有的日志文件每周轉儲一次。

  第五行 rotate 4 指定轉儲文件的保留 4份。

  第七行 errors root 指定錯誤信息發送給root。

  第九行create 指定 logrotate 自動建立新的日志文件,新的日志文件具有和

  原來的文件一樣的權限。

  第11行 #compress 指定不壓縮轉儲文件,如果需要壓縮,去掉注釋就可以了。

  三、使用include 選項讀取其他配置文件

  include 選項允許系統管理員把分散到幾個文件的轉儲信息,集中到一個

  主要的配置文件。當 logrotate 從logrotate.conf 讀到inc12下一頁

Copyright © Linux教程網 All Rights Reserved