• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            小默

            【轉(zhuǎn)】Fedora Linux中的日志服務

            原文:http://blog.csdn.net/flagonxia/archive/2009/08/09/4427756.aspx

            ---

            <序言>

            我已經(jīng)寫過兩篇實用型的博文,可以作為參考:

            1) 如何將Linux主機設置成syslog服務器;

            2) 使用cron和logrotate來管理日志文件。

                 這篇文章主要介紹日志服務的基礎知識。涉及日志的服務有兩個,在Fedora9中是rsyslog服務和logrotate服務。前者負責寫入日志,后者負責備份和刪除舊日志,以及更新日志文件。

            1. rsyslogd 服務

            1.1 查看當前rsyslogd服務的狀態(tài)

                 在Fedora 9開始,負責寫入日志信息的服務是rsyslogd,它的配置文件為:/etc/rsyslog.conf。我們檢測一下當前這個服務是不是在運行。

                 [flagonxia@airhouse etc]$ ps -ef | grep -v grep | grep rsyslog
                 root      1584     1  0 10:33 ?        00:00:00 rsyslogd -c 3

                  從上面命令的輸出結(jié)果看到rsyslogd執(zhí)行時使用的參數(shù)是-c 3。這個輸入?yún)?shù)在文件/etc/sysconfig/rsyslog中指定。

                  [flagonxia@airhouse sysconfig]$ less rsyslog
                  # Options to syslogd
                  # syslogd options are deprecated in rsyslog v3 
                  # if you want to use them, switch to compatibility mode 2 by "-c 2"
                  SYSLOGD_OPTIONS="-c 3"

                  也可以通過另一種方式,查看當前運行級別中,rsyslogd是否運行。

                  [flagonxia@airhouse sysconfig]$ sudo chkconfig --list rsyslog
                  rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off

                  注意,這里的服務名是rsyslog。

            1.2 配置文件/etc/rsyslog.conf

            1.2.1 配置文件的基本信息

                  配置文件/etc/rsyslog.conf中有很多內(nèi)容,但最主要的是指定需要記錄哪些服務和需要記錄什么等級的信息。

                  下面是rsyslog.conf的內(nèi)容。

                  # /etc/rsyslog.conf

                  ... ...

                  #### RULES ####

                  # Log all kernel messages to the console.
                  # Logging much else clutters up the screen.
                  #kern.*                                                 /dev/console

                  # Log anything (except mail) of level info or higher.
                  # Don't log private authentication messages!
            A    *.info;mail.none;authpriv.none;cron.none                /var/log/messages

                  # The authpriv file has restricted access.
                  authpriv.*                                              /var/log/secure

                  # Log all the mail messages in one place.
            B    mail.*                                                  -/var/log/maillog


                  # Log cron stuff
                  cron.*                                                  /var/log/cron

                  # Everybody gets emergency messages
            C      *.emerg                                                 *

                  # Save news errors of level crit and higher in a special file.
            D    uucp,news.crit                                       /var/log/spooler

                  # Save boot messages also to boot.log
                  local7.*                                                /var/log/boot.log     

                 【注釋】

                  A:把所有大于info級別的信息都記錄到/var/log/messages中,但不要記錄mail,authpriv和cron服務產(chǎn)生的信息;

                  B:把mail產(chǎn)生的信息都記錄到/var/log/maillog中

                  C:把所有服務輸出的“大于”emergy級別的信息顯示給每個在線的人,通過wall工具

                  D:把uucp和news輸出的大雨crit級別的信息記錄到/var/log/spooler中

            1.2.2 信息的等級及其在配置文件中指定的方式

                 A 七種信息等級

                    1)info

                    2)notice

                    3)warning或warn

                    4)err或error

                    5)crit

                    6)alert

                    7)emerg或panic:導致系統(tǒng)幾乎要死機

                 B 信息等級的指定方式

                    1). xxx: 表示大于xxx級別的信息

                    2).=xxx:表示等于xxx級別的信息

                    3).!xxx:表示在xxx之外的等級的信息

            2. logrotate服務

            2.1 logrotate服務的啟動方式

                   logrotate是一個日志管理程序,用來把舊的日志文件刪除(備份),并創(chuàng)建新的日志文件,這個過程稱為“轉(zhuǎn)儲”。我們可以根據(jù)日志的大小,或者根據(jù)其使用的天數(shù)來轉(zhuǎn)儲。

                   logrotate的執(zhí)行由crond服務實現(xiàn)。在/etc/cron.daily目錄中,有個文件logrotate,它實際上是個shell script,用來啟動logrotate。logrotate程序每天由cron在指定的時間(/etc/crontab)啟動。

                   [flagonxia@airhouse cron.daily]$ less logrotate
                   #!/bin/sh

                   /usr/sbin/logrotate /etc/logrotate.conf
                   EXITVALUE=$?
                   if [ $EXITVALUE != 0 ]; then
                   /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
                   fi
                   exit 0

                   因此,使用ps是無法查看到logrotate的。如果它沒有起來,就要查看一下crond服務有沒有在運行。

                   [flagonxia@airhouse logrotate.d]$ ps -ef | grep -v grep | grep cron
                   root      1984     1  0 10:34 ?        00:00:00 crond

            2.2 logrotate的配置文件/etc/logrotate.conf 

                   在執(zhí)行l(wèi)ogrotate時,需要指定其配置文件/etc/logrotate.conf。這個文件定義了如何轉(zhuǎn)儲日志文件的規(guī)則。如下:

                   # see "man logrotate" for details
                   # rotate log files weekly
                   weekly

                   # keep 4 weeks worth of backlogs
                   rotate 4

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

                   # use date as a suffix of the rotated file
                   dateext

                   # uncomment this if you want your log files compressed
                   #compress

                   # RPM packages drop log rotation information into this directory
                   include /etc/logrotate.d

                   # no packages own wtmp and btmp -- we'll rotate them here
                   /var/log/wtmp {
                          monthly
                          create 0664 root utmp
                          rotate 1
                    }

                    /var/log/btmp {
                          missingok
                          monthly
                          create 0600 root utmp
                          rotate 1
                     }

                     # system-specific logs may be also be configured here.

                  這個配置文件的注釋寫得很清楚,沒有必要再羅嗦了。只想強調(diào)下面這行,它的作用包含存放在/etc/logrotate.d目錄下面的配置文件,不可或缺。如果你安裝了一個新的服務,它的日志轉(zhuǎn)儲的規(guī)則可以建立一個專門的配置文件,放在/etc/logrotate.d下面。它其實也因為下面的這句話,在logrotate服務啟動時被讀取。

                   include /etc/logrotate.d

                   這里有個例子:/etc/logrotate.d/syslog

                   /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
                         sharedscripts
                         postrotate
                              /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
                         endscript
                   }

                  上面的配置對于/var/log/messages, /var/log/secure, /var/log/mailog/ /var/log/spooler, /var/log/boot.log, /var/log/cron都是適用的。

                  注意,prerotate和postrotate必須和sharescripts...endscript一起用。上面的信息表示日志文件轉(zhuǎn)儲后,重啟rsyslogd服務。

                  每個存放在/etc/logrotate.d目錄里的文件,都有上面格式的配置信息。在{}中定義的規(guī)則,如果與logrotate.conf中的沖突,以/etc/logrotatate.d/中的文件定義的為準。

            posted on 2011-03-02 21:23 小默 閱讀(1087) 評論(0)  編輯 收藏 引用 所屬分類: Linux

            導航

            統(tǒng)計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            人妻无码久久一区二区三区免费 | 亚洲国产成人久久综合区| 91精品国产色综久久| 精品久久久久久无码人妻蜜桃| 久久亚洲国产成人影院网站| 青草国产精品久久久久久| 久久se精品一区二区| 久久久久久久免费视频| 久久久九九有精品国产| 99久久香蕉国产线看观香| 午夜不卡888久久| 久久久久人妻一区二区三区vr| 91性高湖久久久久| 久久国产精品99国产精| 国产精品久久婷婷六月丁香| 国产激情久久久久影院老熟女| 久久精品国产亚洲AV麻豆网站| 午夜视频久久久久一区| 天天久久狠狠色综合| 国产成年无码久久久久毛片| 久久亚洲熟女cc98cm| 理论片午午伦夜理片久久| 99久久精品这里只有精品| 久久精品www人人爽人人| 久久亚洲sm情趣捆绑调教 | 人妻无码精品久久亚瑟影视| 国产精品一区二区久久精品| 国内精品伊人久久久久777| 亚洲欧美成人久久综合中文网| 久久人人爽人人精品视频| 国产农村妇女毛片精品久久| 97精品伊人久久大香线蕉app| 久久精品国产亚洲精品2020| 久久久亚洲欧洲日产国码二区| 亚洲国产精品无码久久久秋霞2 | 亚洲国产精品综合久久一线 | 久久久久国产一区二区三区| 久久黄视频| 久久精品国产亚洲AV影院| 久久亚洲AV无码精品色午夜| 亚洲中文字幕久久精品无码APP|