歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 全面詳解Linux日志管理技巧

全面詳解Linux日志管理技巧

日期:2017/2/28 17:45:46   编辑:Linux教程
1. 使用shell向syslog日志文件寫入信息

應用程序使用syslog協議發送信息給Linux系統的日志文件(位於/var/log目錄). Sysklogd提供兩個系統工具: 一個是系統日志記錄, 另一個是內核信息捕獲. 通常大多程序都使用C語言或者syslog應用程序或庫來發送syslog消息.

下面介紹如何使用shell向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/bash
HDBS="db1 db2 db3 db4"
BAK="/sout/email"
[ ! -d $BAK ] && mkdir -p $BAK || :
/bin/rm $BAK/*
NOW=$(date +"%d-%m-%Y")
ATTCH="/sout/backup.$NOW.tgz"
[ -f $ATTCH ] && /bin/rm $ATTCH || :
MTO="[email protected]"
for db in $HDBS
do
FILE="$BAK/$db.$NOW-$(date +"%T").gz"
mysqldump -u admin -p'password' $db | gzip -9> $FILE
done
tar -jcvf $ATTCH $BAK
mutt -s "DB $NOW" -a $ATTCH $MTO < DBS $(date)
EOF
[ "$?" != "0" ] && logger "$0 - MySQL Backup failed" || :

如果mysql數據庫備份失敗, 上面最後一行代碼將會寫入一條信息到/var/log/message文件.

2). 其它用法

如果你需要記錄/var/log/myapp.log文件中的信息, 可以使用:
$ logger -f /var/log/myapp.log

把消息發送到屏幕(標准錯誤), 如系統日志:
$ logger -s "Hard disk full"

你可以參考man參考頁獲得更多的選項信息:
man logger
man syslogd
Copyright © Linux教程網 All Rights Reserved