亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1030 | 回復(fù): 0
打印 上一主題 下一主題

Linux日志的瑣事 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-11-19 13:11 |只看該作者 |倒序瀏覽

通過logger命令記錄日志
    logger 是一個shell 命令接口,可以通過該接口使用Syslog的系統(tǒng)日志模塊,還可以從命令行直接向系統(tǒng)日志文件寫入一行信息。
    日志的級別
         日志的級別分為七級,從緊急程度由高到底:
      emerg 系統(tǒng)已經(jīng)不可用,級別為緊急
      alert 警報,需要立即處理和解決
      crit 既將發(fā)生,得需要預(yù)防。事件就要發(fā)生
      warnig 警告
      err 錯誤信息,普通的錯誤信息
      notice 提醒信息,很重要的信息
      info 通知信息,屬于一般信息
      debug 這是調(diào)試類信息
    1。解決方法
       編輯syslog.conf,
          #vi /etc/syslog.conf
          在第一行加入local3.none,使得設(shè)備local3的日志不記錄在messages文件里,
          # Log anything (except mail) of level info or higher.
          # Don't log private authentication messages!
          *.info;mail.none;authpriv.none;cron.none;local1.none;local3.none      /var/log/messages
     
           將設(shè)備local3的所有級別的信息都記錄在userlog文件里,
           #user log
           local3.*                     /var/log/userlog
       重新加載syslog服務(wù)的配置文件,
       [root@KEVEIN Slides]# service syslog reload
       Reloading syslogd...                               [  OK  ]
       Reloading klogd...                                  [  OK  ]
   2。測試
   測試機器的環(huán)境:
    OS:Red Hat Enterprise Linux 5 update 3
    Network: 192.168.0.100/24   Gateway:192.168.0.1      

    [root@KEVEIN Slides]# ping 192.168.0.1 | logger -it logger_test -p local3.notice&
       [2] 22484
    命令logger -it logger_test -p local3.notice中的參數(shù)含義:
       -i                在每行都記錄進程ID
       -t logger_test       每行記錄都加上“l(fā)ogger_test”這個標(biāo)簽
       -p local3.notice     設(shè)置記錄的設(shè)備和級別

    [root@KEVEIN Slides]# tail -f /var/log/userlog
Oct  6 12:48:43 kevein logger_test[22484]: PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
Oct  6 12:48:43 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=49.7 ms
Oct  6 12:48:44 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=68.4 ms
Oct  6 12:48:45 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=315 ms
Oct  6 12:48:46 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=279 ms
Oct  6 12:48:47 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=5 ttl=253 time=347 ms
Oct  6 12:48:49 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=6 ttl=253 time=701 ms
Oct  6 12:48:50 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=7 ttl=253 time=591 ms
Oct  6 12:48:51 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=8 ttl=253 time=592 ms
Oct  6 12:48:52 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=9 ttl=253 time=611 ms
Oct  6 12:48:53 kevein logger_test[22484]: 64 bytes from 192.168.0.1: icmp_seq=10 ttl=253 time=931 ms

ping命令的輸出成功輸出到/var/log/userlog文件中,實驗成功。


日志回卷

   系統(tǒng)時時刻刻都在產(chǎn)生日志,如果不及時清理,很快就會灌滿硬盤,但如果要手工清理,又很麻煩。這種情況下,logrotate 這個程序很好的完成這個任務(wù)。
    logrotate 用來把舊的日志文件刪除,并創(chuàng)建新的日志文件,我們把它叫做“轉(zhuǎn)儲”。我們可以根據(jù)日志文件的大小,也可以根據(jù)其天數(shù)來轉(zhuǎn)儲,這個過程一般通過一個叫做crond的守護進程來執(zhí)行,logrotate 還可以用于壓縮日志文件,以及發(fā)送日志到指定的E-mail 。
logrotate 的配置文件是 /etc/logrotate.conf。主要參數(shù)如下表:
參數(shù) 功能
compress                        通過gzip 壓縮轉(zhuǎn)儲以后的日志
nocompress                    不需要壓縮時,用這個參數(shù)
copytruncate                  用于還在打開中的日志文件,把當(dāng)前日志備份并截斷
nocopytruncate               備份日志文件但是不截斷
create mode owner group   轉(zhuǎn)儲文件,使用指定的文件模式創(chuàng)建新的日志文件
nocreate                              不建立新的日志文件
delaycompress   
             和 compress 一起使用時,轉(zhuǎn)儲的日志文件到下一次轉(zhuǎn)儲時才壓縮
nodelaycompress      覆蓋 delaycompress 選項,轉(zhuǎn)儲同時壓縮。
errors address          專儲時的錯誤信息發(fā)送到指定的Email 地址
ifempty                   即使是空文件也轉(zhuǎn)儲,這個是 logrotate 的缺省選項。
notifempty               如果是空文件的話,不轉(zhuǎn)儲
mail address            把轉(zhuǎn)儲的日志文件發(fā)送到指定的E-mail 地址
nomail                     轉(zhuǎn)儲時不發(fā)送日志文件
olddir directory           
         轉(zhuǎn)儲后的日志文件放入指定的目錄,必須和當(dāng)前日志文件在同一個文件系統(tǒng)
noolddir                   轉(zhuǎn)儲后的日志文件和當(dāng)前日志文件放在同一個目錄下
prerotate/endscript               
           在轉(zhuǎn)儲以前需要執(zhí)行的命令可以放入這個對,這兩個關(guān)鍵字必須單獨成行
postrotate/endscript                  
           在轉(zhuǎn)儲以后需要執(zhí)行的命令可以放入這個對,這兩個關(guān)鍵字必須單獨成行
daily                    指定轉(zhuǎn)儲周期為每天
weekly                 指定轉(zhuǎn)儲周期為每周
monthly               指定轉(zhuǎn)儲周期為每月
rotate count
              指定日志文件刪除之前轉(zhuǎn)儲的次數(shù),0 指沒有備份,5 指保留5 個備份
tabootext [+] list           
          讓logrotate 不轉(zhuǎn)儲指定擴展名的文件,缺省的擴展名是:.rpm-             orig, .rpmsave, v, 和 ~
size size                              
       當(dāng)日志文件到達指定的大小時才轉(zhuǎn)儲,Size 可以指定bytes (缺省)以及KB (sizek)或者MB (sizem).

系統(tǒng)對 logrotate 的執(zhí)行和操作
  在/etc/cron.daily/路徑下,有一個logrotate 的shell腳本,所以cron程序會每天調(diào)用一次logrotate程序,然后logrotate程序回去檢查日志文件是否符合回滾條件,并執(zhí)行相應(yīng)動作。
執(zhí)行操作:/usr/sbin/logrotate /etc/cron.daily/logrotate.conf;

在/etc/logrotate.conf文件中,有如下選項:
    # RPM packages drop log rotation information into this directory
    include /etc/logrotate.d
這個選項說明在執(zhí)行l(wèi)ogrotate程序時,同時執(zhí)行/etc/logrotated目錄下的所有腳本。

   執(zhí)行動作示例:每月清除/var/log/wtmp目錄中的相關(guān)內(nèi)容:

/var/log/wtmp {
      monthly
      create 0664 root utmp
      rotate 1
      }

   實驗:
    1.  
環(huán)境: Red Hat Enterprise Linux 5.3
實驗描述:
(1)用Cron執(zhí)行l(wèi)ogrotate命令,每分鐘檢查一次目標(biāo)日志文件是否滿足回卷限制。(2)配置/etc/logrotate.conf 或者建立一個自定義的/etc/logrotate.d /userlog
(3)編輯/etc/syslog.conf 使得記錄的日志信息可以寫入到/var/log/userlog中。
[root@KEVEIN ~]# crontab -e
* * * * * /usr/sbin/logrotate /etc/logrotate.conf       //寫入這條命令
[root@KEVEIN ~]# vi /etc/logrotate.conf

***省略***
/var/log/userlog {
   daily
   size 10k               ////在這里單位大小寫敏感應(yīng),應(yīng)為 k or M
   create 0664 root root
   rotate 3
prerotate
                /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
                /bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
   在這里一定要加prerotate這段腳本,這樣可以使syslog程序重新讀取配置文件,這樣做的作用是讓syslog程序釋放對userlog文件持有的文件描述符,否則即使日志文件
回滾,syslog也不會向新產(chǎn)生的日志文件寫數(shù)據(jù)。舉個例子,如果不加這段腳本,即使logrotate程序?qū)serlog文件截斷并重命名為userlog.1,但是syslog程序仍然會向原userlog文件即userlog.1中寫入數(shù)據(jù)。
[root@localhost ~]# vi /etc/syslog.conf
*****省略*****
*.info;mail.none;authpriv.none;cron.none;local1.none;local3.none        /var/log/messages
#user log
local3.*                                                /var/log/userlog

重新加載配置文件
[root@KEVEIN ~]# service syslog reload
Reloading syslogd...                                     [  OK  ]
Reloading klogd...                                        [  OK  ]
重啟crond服務(wù)
[root@KEVEIN ~]# service crond restart
Stopping crond:                                         [  OK  ]
Starting crond:                                           [  OK  ]


測試:
通過logger命令向userlog中寫入數(shù)據(jù),測試logrotate的功能
[root@KEVEIN ~]# ping 192.168.1.1 | logger -it logger_test -p local3.notice&
[1] 5144
[root@KEVEIN ~]# cd /var/log/
[root@KEVEIN log]# ll -h userlog*
-rw-r--r-- 1 root root 1.6K Oct 11 19:59 userlog
[root@KEVEIN log]# ll -h userlog*
-rw-r--r-- 1 root root 6.1K Oct 11 20:00 userlog      
//雖然執(zhí)行過logrotate,但是沒有達到限制值
[root@KEVEIN log]# ll -h userlog*
-rw-rw-r-- 1 root root   0 Oct 11 20:08 userlog
-rw-rw-r-- 1 root root 15K Oct 11 20:08 userlog.1
-rw-r--r-- 1 root root 18K Oct 11 20:05 userlog.2

    需要注意的是,當(dāng)達到限制條件時,logrotate程序會將目標(biāo)日志文件userlog截斷,并命名為userlog.1,將原userlog.1改名為userlog.2,以此類推,syslog程序始終向userlog文件中寫數(shù)據(jù)。


本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/104843/showart_2098267.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP