本篇內(nèi)容主要講解“如何理解Linux的系統(tǒng)日志”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何理解Linux的系統(tǒng)日志”吧!
成都創(chuàng)新互聯(lián)主要從事網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)英吉沙,十載網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220syslogd & klogd ---------/etc/syslog.conf
/var/log/secure:登錄到系統(tǒng)存取資料的記錄;FTP、SSH、TELNET...
/var/log/wtmp:記錄登錄者訊錄,二進(jìn)制文件,須用last來讀取內(nèi)容
/var/log/messages:雜貨鋪
/var/log/boot.log:記錄開機(jī)啟動訊息,dmesg | more
一、常識
代碼如下:
# ps aux | grep syslog
# chkconfig --list | grep syslog
# cat /var/log/secure
/etc/syslog.conf 哪些服務(wù)產(chǎn)生的哪些等級訊息記錄到哪里
記錄到相同地方的多個訊息源用分號間隔
vi /etc/syslog.conf
二、接收遠(yuǎn)程日志
代碼如下:
# grep 514 /etc/services
syslog 514/udp
vi /etc/sysconfig/syslog
# 將SYSLOGD_OPTIONS="-m 0"
# 改成
SYSLOGD_OPTIONS="-m 0 -r"
/etc/init.d/syslog restart
[root@linux ~]# netstat -tlunp
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 0.0.0.0:514 0.0.0.0:* 24314/syslogd
對應(yīng)client
# vi /etc/syslog.conf
*.* @192.168.1.100
三、logrotate
代碼如下:
* /etc/logrotate.conf
* /etc/logrotate.d/
logrotate.conf 才是主要配置文件,而/logrotate.d /這個目錄內(nèi)的所有文件都被讀入 /etc/logrotate.conf來執(zhí)行!
如果在 /etc/logrotate.d/ 目錄文件中,沒有相應(yīng)的細(xì)節(jié)設(shè)定?以 /etc/logrotate.conf 設(shè)定為缺省值!
代碼如下:
vi /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/syslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
1、用空格作多個檔案分隔
2、所有設(shè)定在{}中
3、# prerotate:在啟動logrotate執(zhí)行的指令
# postrotate:在做完 logrotate后需處理的指令
logrotate [-vf] logfile
??:
-v :顯示過程
-f :強(qiáng)制執(zhí)行
而 logrotate 的工作加入到 crontab /etc/cron.daily/logrotate;所以系統(tǒng)每天自動查看
只是要注意一下:/var/log/messages 是否有這樣的類似內(nèi)容
Oct 24 15:15:35 localhost syslogd 1.4.1: restart.
四、實例:
要求: 登錄檔案每月替換一次
若> 10MB ;強(qiáng)制替換,不不考慮一個月的期限;
保存五備份文檔;
備份文檔不壓縮。
步驟1:
代碼如下:
root@linux ~]# chattr +a /var/log/admin.log
[root@linux ~]# lsattr /var/log/admin.log
-----a------- /var/log/admin.log
只能新增不能刪節(jié)除,除非chattr -a /var/log/admin.log
代碼如下:
[root@linux ~]# mv /var/log/admin.log /var/log/admin.log.1
mv: cannot move '/var/log/admin.log' to '/var/log/admin.log.1':permission deny
步驟2:
代碼如下:
vi /etc/logrotate.d/admin
# This configuration is from VBird 2005/10/24
/var/log/admin.log {
monthly
size=10M
rotate 5
nocompress
sharedscripts
prerotate
/usr/bin/chattr -a /var/log/admin.log
endscript
sharedscripts
postrotate
/usr/bin/killall -HUP syslogd
/usr/bin/chattr +a /var/log/admin.log
endscript
}
步驟3:測試
代碼如下:
# logrotate -v /etc/logrotate.conf
.....(前面省略).....
rotating pattern: /var/log/admin.log 10485760 bytes (5 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/admin.log
log does not need rotating
not running shared prerotate script, since no logs will be rotated
............
# logrotate -vf /etc/logrotate.d/admin
reading config file /etc/logrotate.d/admin
reading config info for /var/log/admin.log
也就是說: /etc/syslog.conf 與/etc/logrotate.d/* 對應(yīng)文檔搭配起來使用;先由syslogd 按照syslog.conf指定的方法處理消息,
然后送給 logrotat來按照/etc/logrotate.d/*文檔要求來輪替日志。
五、常見指令:
代碼如下:
# dmesg | more
讀/var/log/boot.log
代碼如下:
dmesg | grep 'eth'
代碼如下:
# last -n number
[root@linux ~]# last -f filename
-n :number
-f :last 預(yù)設(shè)值為讀 /var/log/wtmp 文檔,而 -f 讀取不同的文檔
代碼如下:
# last -n 5 -f /var/log/wtmp.1
dmtsai2 pts/2 Mon Oct 24 14:18 - 14:18 (00:00)
dmtsai2 work:0 work Mon Oct 24 14:18 gone - no logout
dmtsai2 work:0 work Mon Oct 24 14:18 - 14:18 (00:00)
dmtsai2 pts/2 Mon Oct 24 14:18 - 14:18 (00:00)
dmtsai2 work:0 work Mon Oct 24 14:18 - 14:18 (00:00)
# lastlog
只讀取/var/log/lastlog 內(nèi)容,只包括當(dāng)前系統(tǒng)上面所有的帳號最近一次LOGIN的時間。
到此,相信大家對“如何理解Linux的系統(tǒng)日志”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!