• <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中的日志服務(wù)

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

            ---

            <序言>

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

            1) 如何將Linux主機(jī)設(shè)置成syslog服務(wù)器;

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

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

            1. rsyslogd 服務(wù)

            1.1 查看當(dāng)前rsyslogd服務(wù)的狀態(tài)

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

                 [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"

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

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

                  注意,這里的服務(wù)名是rsyslog。

            1.2 配置文件/etc/rsyslog.conf

            1.2.1 配置文件的基本信息

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

                  下面是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服務(wù)產(chǎn)生的信息;

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

                  C:把所有服務(wù)輸出的“大于”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:導(dǎo)致系統(tǒng)幾乎要死機(jī)

                 B 信息等級的指定方式

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

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

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

            2. logrotate服務(wù)

            2.1 logrotate服務(wù)的啟動方式

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

                   logrotate的執(zhí)行由crond服務(wù)實現(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服務(wù)有沒有在運行。

                   [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.

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

                   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服務(wù)。

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

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

            導(dǎo)航

            統(tǒng)計

            留言簿(13)

            隨筆分類(287)

            隨筆檔案(289)

            漏洞

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            三上悠亚久久精品| 亚洲精品高清久久| 亚洲女久久久噜噜噜熟女| 亚洲精品乱码久久久久久按摩 | 久久国产亚洲精品| 久久人人爽人人爽人人片AV不| 成人免费网站久久久| 久久久久人妻一区精品 | 久久久噜噜噜久久中文福利| 秋霞久久国产精品电影院| 久久久久女教师免费一区| 久久婷婷五月综合国产尤物app| 国产高清国内精品福利99久久| 午夜精品久久久久久影视riav| 国产精品对白刺激久久久| 色诱久久av| 亚洲国产精品久久久久网站| 久久久久人妻一区二区三区 | 欧美国产成人久久精品| 久久婷婷五月综合国产尤物app| 欧美精品丝袜久久久中文字幕 | 久久精品人人做人人爽97| 久久久中文字幕日本| 精品一区二区久久| 久久久av波多野一区二区| 麻豆av久久av盛宴av| 亚洲国产精品一区二区久久| 久久青青草原国产精品免费| av午夜福利一片免费看久久| 久久久国产打桩机| 久久精品国产亚洲AV忘忧草18| 热RE99久久精品国产66热| 久久AAAA片一区二区| 99久久精品九九亚洲精品| 国产精品久久亚洲不卡动漫| 久久久久久夜精品精品免费啦| 99久久99久久精品国产片果冻| 久久婷婷五月综合色奶水99啪 | 国产精品免费久久| 国内精品久久久久久麻豆 | 久久天天躁狠狠躁夜夜躁2014|