操作系統日志管理的技巧介紹計劃
1. 使用Shell向Syslog日志文件寫入信息 應用程序使用Syslog協議發送信息給Linux系統的日志文件(位于/var/log目錄)。Sysklogd提供兩個系統工具: 一個是系統日志記錄, 另一個是內核信息捕獲。通常大多程序都使用C語言或者Syslog應用程序或庫來發送Syslog消息。 下面介紹如何使用sShell向Syslog日志文件寫入信息: 1). 使用Logger命令 Logger命令是一個Shell命令(接口)。你可以通過該接口使用Syslog的系統日志模塊 你還可以從命令行直接向系統日志文件寫入一行信息。 比如, 記錄硬盤升級后的系統重啟信息: $ logger System rebooted for hard disk upgrade
李金表示“要想想”。 然后你可以查看/var/log/message文件: # tail -f /var/log/message
輸出為: Jan 26 20:53:31 dell6400 logger: System rebooted for hard disk upgrade
你也可以通過腳本程序來使用Logger命令。看下面的實例: #!/bin/bashHDBS=\"db1 db2 db3 db4\"BAK=\"/sout/email\"[ ! -d $BAK ] mkdir -p $BAK || :/bin/rm $BAK/*NOW=$(date +\"%d-%m-%Y\")ATTCH=\"/sout/backup.$z\"[ -f $ATTCH ] /bin/rm $ATTCH || :MTO=\"you@\"for db in $HDBSdo FILE=\"$BAK/$db.$NOW-$(date +\"%T\").gz\" mysqldump -u admin -p\'password\' $db | gzip -9 $FILEdonetar -jcvf $ATTCH $BAK mutt -s \"DB $NOW\" -a $ATTCH $MTO EOFDBS $(date)EOF[ \"$?\" != \"0\" ] logger \"$0 - MySQL Backup failed\" || :
如果MySQL數據庫備份失敗, 上面最后一行代碼將會寫入一條信息到/var/log/message文件。 2). 其它用法 如果你需要記錄/var/log/g文件中的信息, 可以使用: $ logger -f /var/log/g
把消息發送到屏幕(標準錯誤), 如系統日志: $ logger -s \"Hard disk full\"
你可以參考man參考頁獲得更多的選項信息: man loggerman syslogd
2. 輸出Iptables日志到一個指定的文件 Iptables的man參考頁中提到: 我們可以使用Iptables在Linux內核中建立, 維護和檢查IP包過濾規則表。幾個不同的表可能已經創建, 每一個表包含了很多內嵌的鏈, 也可能包含用戶自定義的鏈。 Iptables默認把日志信息輸出到/var/log/messages文件。不過一些情況下你可能需要修改日志輸出的位置。下面向大家介紹如何建立一個新的日志文件/var/log/g。通過修改或使用新的日志文件, 你可以創建更好的統計信息或者幫助你分析絡攻擊信息。 1). Iptables默認的日志文件 例如, 如果你輸入下面的命令, 屏幕將顯示/var/log/messages文件中的Iptables日志信息: # tail -f /var/log/messages
輸出: Oct 4 00:44:28 debian gconfd (vivek-4435): Resolved address \"xml:readonly:/etc/gconf/faults\" to a read-only configuration source at position 2Oct 4 01:14:19 debian kernel: IN=ra0 OUT= MAC=00:17:9a:0a:f6:44:00:08:5c:00:00:01:08:00 SRC=200.142.84.36 DST=192.168.1.2 LEN=60 TOS=0x00 PREC=0x00 TTL=51 ID=18374 DF PROTO=TCP SPT=46040 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
2). 輸出Iptables日志信息到一個指定文件的方法 打開你的/etc/nf文件: # vi /etc/nf
在文件末尾加入下面一行信息: rning /var/log/g
保存和關閉文件。 重新啟動Syslogd(如果你使用Debian/Ubuntu Linux): # /etc/init.d/sysklogd restart
另外, 使用下面命令重新啟動Syslogd(如果你使用Red Hat/Cent OS/Fedora Core Linux): # /etc/init.d/syslog restart
現在確認你的Iptables使用了log-level 4參數(前面有一個log-prefix標志)。例如: # DROP everything and Log itiptables -A INPUT -j LOG –log-level 4iptables -A INPUT -j DROP
舉一個例子, 丟棄和記錄所有來自IP地址65.55.11.2的連接信息到/var/log/g文件。 iptables -A INPUT -s 64.55.11.2 -m limit --limit 5/m --limit-burst 7 -j LOG –log-prefix ‘** HACKERS **’ --log-level 4iptables -A INPUT -s 64.55.11.2 -j DROP
命令解釋: - log-level 4: 記錄的級別. 級別4為警告(warning)。 - log-prefix ‘*** TEXT ***’: 這里定義了在日志輸出信息前加上TEXT前綴。TEXT信息最長可以是29個字符, 這樣你就可以在記錄文件中方便找到相關的信息。 現在你可以通過/var/log/g文件參考Iptables的所有信息: # tail -f /var/log/g
呼和浩特哪家白癜風好武漢無痛人流
沈陽早泄治療哪家好
- 女子癡迷減肥瘦到50斤致多器官衰竭,醫師:她生完孩子對減肥更有執念,一年瘦了80斤
- 混跡職場多年,但是這些職場潛規則,你或許仍然不知道,別害了你
- 工廠用光排管渦輪
- 月內已交付7艘船!新大洋造船交付嘉航海運第2艘75000噸內貿散貨船
- 《蛋仔派對》X水波蛋聯動外觀超萌迫近!朗朗晴天加載中......
- 楊鳴情商到底多高?蔣興權錄像懵了,郭士強都沒做到
- 馬力:鋼鐵行業面臨的整體狀況正在改善
- 這些“有顏色”的營養成分,對身體很重要!
- 四大名著若去除一本,你會選哪一本?網友選的竟不是紅樓夢?
- 中央氣象臺:今年最大最強高溫來襲!家中DIY這幾款涼茶吧~
- 格紋復古裙的身著搭,總是更加優雅一些
- 豬蹄分“前后”,買錯了肉質差白花錢,記起5點,不被肉販忽悠