- #!/bin/sh
- #顯示指令碼說明,不同顏色
- echo -e "\e[34;1m################################################\e[0m"
- echo -e "\e[34;1m### Format like 'Analysis_log.sh 2007-07-01' ###\e[0m"
- echo -e "\e[34;1m### Default Parameters is Today ###\e[0m"
- echo -e "\e[34;1m################################################\e[0m"
- #RSYNC 的密碼
- RSYNC_PASSWORD=ssoapi96
- export RSYNC_PASSWORD
- #獲得參數個數
- var_parm_num=$#
- #定義臨時檔案名稱
- TMP_LOG_FILE=/tmp/api.log
- TMP_UNIQUE_FILE=/tmp/tmp.log
- #檢查參數情況,並且得出一系列臨時記錄檔名
- if [ $var_parm_num -eq 0 ]; then
- today=`date +%Y-%m-%d`
- LOGFILE=api_log.$today
- LOGFILE96=/tmp/96_api_log.$today
- LOGFILE97=/tmp/97_api_log.$today
- LOGFILE98=/tmp/98_api_log.$today
- LOGFILE99=/tmp/99_api_log.$today
- else
- LOGFILE=api_log.$1
- LOGFILE96=/tmp/96_api_log.$1
- LOGFILE97=/tmp/97_api_log.$1
- LOGFILE98=/tmp/98_api_log.$1
- LOGFILE99=/tmp/99_api_log.$1
- fi
- #獲得記錄檔(本機,遠程)
- cp /data/log/api/$LOGFILE $LOGFILE96
- rsync -vzrtopg web@172.24.139.97::apilog/$LOGFILE $LOGFILE97
- rsync -vzrtopg web@172.24.139.98::apilog/$LOGFILE $LOGFILE98
- rsync -vzrtopg web@172.24.139.99::apilog/$LOGFILE $LOGFILE99
- #將不同伺服器上的記錄檔輸入到一個檔案中,只去其中的3、4列,去除其中含有關鍵字的行
- cat $LOGFILE96 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" > $TMP_LOG_FILE
- cat $LOGFILE97 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
- cat $LOGFILE98 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
- cat $LOGFILE99 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
- #對全部日誌的檔案進行過濾排序,去掉重複記錄,輸入到另一個檔案中
- sort -u $TMP_LOG_FILE > $TMP_UNIQUE_FILE
- #輸出目前時間
- echo -e "\e[35;1m"`date +%Y-%m-%d\ %H:%M:%S`"\e[0m"
- #計算某些動作的行數,既是該動作的數量
- echo -e "\e[36;1mLOGIN NUMS\e[0m"
- cat $TMP_LOG_FILE | awk '{print $1}' | grep "1" |wc -l
- echo -e "\e[32;1mUSER NUMS\e[0m"
- cat $TMP_UNIQUE_FILE | awk '{print $1}' | grep "1" |wc -l
- echo -e "\e[33;1mCHECK_EXIST NUMS\e[0m"
- cat $TMP_LOG_FILE | awk '{print $1}' | grep "2" |wc -l
- #刪除臨時記錄檔
- rm $TMP_LOG_FILE
- rm $TMP_UNIQUE_FILE
- rm $LOGFILE96
- rm $LOGFILE97
- rm $LOGFILE98
- rm $LOGFILE99