linux 的系統 安全 來說,日志文件是極其重要的工具。 系統管理員可以使用 logrotate 程序用來管理系統中的最新的事件。 logrotate 還可以用來備...... 對于 linux 的系統安全來說,日志文件是極其重要的工具。 系統管理員可以使用 log" name="description" />

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 使用logrotate管理Linux日志

    發表于:2007-07-04來源:作者:點擊數: 標簽:
    對于 MI LY: Verdana">linux 的系統 安全 來說,日志文件是極其重要的工具。 系統管理員可以使用 logrotate 程序用來管理系統中的最新的事件。 logrotate 還可以用來備...... 對于 linux 的系統安全來說,日志文件是極其重要的工具。 系統管理員可以使用 log
    對于MILY: Verdana">linux 的系統安全來說,日志文件是極其重要的工具。
    系統管理員可以使用logrotate 程序用來管理系統中的最新的事件。logrotate 還可以用來備......

    對于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/endscript
    在轉儲以前需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
    postrotate/endscript
    在轉儲以后需要執行的命令可以放入這個對,這兩個關鍵字必須單獨成行
    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 讀到include 選項時,會從指定文件讀入配置信息,就好像他們已經在/etc/logrotate.conf 中一樣。

    13 include /etc/logrotate.d 告訴 logrotate 讀入存放在/etc/logrotate.d 目錄中的日志轉儲參數,當系統中安裝了RPM 軟件包時,使用include 選項十分有用。RPM 軟件包的日志轉儲參數一般存放在/etc/logrotate.d 目錄。

    include
    選項十分重要,一些應用把日志轉儲參數存放在 /etc/logrotate.d 。

    典型的應用有:apache, linuxconf, samba, cron 以及syslog。

    這樣,系統管理員只要管理一個 /etc/logrotate.conf 文件就可以了。

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

    /etc/logrotate.conf 讀入文件時,include 指定的文件中的轉儲參數將覆蓋缺省的參數,如下例:

    # linuxconf
    的參數
    /var/log/htmlaclearcase/" target="_blank" >ccess.log
    { errors jim
    notifempty
    nocompress
    weekly
    prerotate
    /usr/bin/chattr -a /var/log/htmlaccess.log
    endscript
    postrotate
    /usr/bin/chattr +a /var/log/htmlaccess.log
    endscript
    }
    /var/log.netconf.log
    { nocompress
    monthly
    }

    在這個例子中,當 /etc/logrotate.d/linuxconf 文件被讀入時,下面的參數將覆蓋/etc/logrotate.conf中缺省的參數。

    Notifempty
    errors jim

    五、為指定的文件配置轉儲參數
    經常需要為指定文件配置參數,一個常見的例子就是每月轉儲/var/log/wtmp。為特定文件而使用的參數格式是:

    #
    注釋
    /full/path/to/file
    {
    option(s)
    }

    下面的例子就是每月轉儲 /var/log/wtmp 一次:
    #Use logrotate to rotate wtmp
    /var/log/wtmp
    {
    monthly
    rotate 1
    }


    六、其他需要注意的問題

    1
    、盡管花括號的開頭可以和其他文本放在同一行上,但是結尾的花括號必須單獨成行。

    2
    、使用 prerotate postrotate 選項
    下面的例子是典型的腳本 /etc/logrotate.d/syslog,這個腳本只是對
    /var/log/messages
    有效。

    /var/log/messages
    {
    prerotate
    /usr/bin/chattr -a /var/log/messages
    endscript
    postrotate
    /usr/bin/kill -HUP syslogd
    /usr/bin/chattr +a /var/log/messages
    endscript
    }

    第一行指定腳本對 /var/log messages 有效
    ê哦閱誆康慕瘧駒誦杏? /var/log/messages
    prerotate
    命令指定轉儲以前的動作/usr/bin/chattr -a 去掉/var/log/messages文件的只追加屬性 endscript 結束 prerotate 部分的腳本postrotate 指定轉儲后的動作

    /usr/bin/killall -HUP syslogd

    用來重新初始化系統日志守護程序 syslogd

    /usr/bin/chattr +a /var/log/messages

    重新為 /var/log/messages 文件指定只追加屬性,這樣防治程序員或用戶覆蓋此文件。

    最后的 endscript 用于結束 postrotate 部分的腳本

    3
    、logrotate 的運行分為三步:

    判斷系統的日志文件,建立轉儲計劃以及參數,通過cron daemon 運行下面的代碼是 Red Hat linux 缺省的crontab 來每天運行logrotate。

    #/etc/cron.daily/logrotate
    #! /bin/sh

    /usr/sbin/logrotate /etc/logrotate.conf

    4
    、/var/log/messages 不能產生的原因:
    這種情況很少見,但是如果你把/etc/services 中的 514/UDP 端口關掉的話,這個文件就不能產生了。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>