系統日誌的記錄
linux
linux操做系統主要經過syslogd服務來記錄日誌信息。日誌信息主要記錄在/var/log/目錄下。syslod用來記錄系統運行產生的信息。klogd用來記錄系統內核運行產生的信息。此外根據系統的配置,系統會在固定的時間,調用logrotate命令來更新日誌信息。logrotate命令會根據/etc/logrotate.conf配置文件的設置。/etc/logrotate.conf會自動加載/etc/logrotate.d/文件夾的文件。服務器
syslogd的配置文件是/etc/syslogd.conf,在syslogd.conf中能夠定義日誌信息。syslogd將日誌信息劃分爲7個級別。分別是info notice warn err crit alert emerge.在系統中,能夠定義來自不一樣地方的不一樣級別的信息記錄到不一樣的地方。如ide
mail.info /var/log/messages 意思是將 mail產生的info及以上的信息記錄下來post
mail.* /var/log/messages 意思是將mail產生的全部信息都記錄到/var/log/messages中。spa
mail.=info /var/log/messages 意思是將mail產生的info級別的信息記錄到/var/log/messages中。操作系統
多個級別能夠寫在一塊兒。日誌
mail.=info;cron.=info /var/log/messages.若是是同一級別,還能夠簡寫。mail,cron.=infoorm
若是不想記錄某個來源的信息,能夠寫成 server
*.* mail.none /var/log/messagesip
若是是不想記錄某個來源的某個級別的日誌信息,能夠寫成 mail。!warn /var/log/messages中。
此外日誌還能夠記錄到某一臺服務器上,此時這臺服務器須要的syslog的啓動模式要做一些改變,要改/etc/sysconfig/syslog,在裏面的選項中加上-r ,讓syslog以服務器的模式運行。而在客戶機上。/etc/syslog.config裏面,加上*.* @server就能夠將日誌信息保存到服務器端。
/etc/logrotate.conf裏面主要寫日誌更新的配置文件。其中還支持腳本。如:
sharedscripts
prelogrotate
chattr -a /var/log/messages
endscripts
sharedscripts
postlogrotate
/bin/killall -1 syslogd
chattr +a /var/log/messages
endscripts