日誌分析的shell指令碼

來源:互聯網
上載者:User
 
  1. #!/bin/sh
  2. #顯示指令碼說明,不同顏色
  3. echo -e "\e[34;1m################################################\e[0m"
  4. echo -e "\e[34;1m### Format like 'Analysis_log.sh 2007-07-01' ###\e[0m"
  5. echo -e "\e[34;1m### Default Parameters is Today ###\e[0m"
  6. echo -e "\e[34;1m################################################\e[0m"
  7. #RSYNC 的密碼
  8. RSYNC_PASSWORD=ssoapi96
  9. export RSYNC_PASSWORD
  10. #獲得參數個數
  11. var_parm_num=$#
  12. #定義臨時檔案名稱
  13. TMP_LOG_FILE=/tmp/api.log
  14. TMP_UNIQUE_FILE=/tmp/tmp.log
  15. #檢查參數情況,並且得出一系列臨時記錄檔名
  16. if [ $var_parm_num -eq 0 ]; then
  17. today=`date +%Y-%m-%d`
  18. LOGFILE=api_log.$today
  19. LOGFILE96=/tmp/96_api_log.$today
  20. LOGFILE97=/tmp/97_api_log.$today
  21. LOGFILE98=/tmp/98_api_log.$today
  22. LOGFILE99=/tmp/99_api_log.$today
  23. else
  24. LOGFILE=api_log.$1
  25. LOGFILE96=/tmp/96_api_log.$1
  26. LOGFILE97=/tmp/97_api_log.$1
  27. LOGFILE98=/tmp/98_api_log.$1
  28. LOGFILE99=/tmp/99_api_log.$1
  29. fi
  30. #獲得記錄檔(本機,遠程)
  31. cp /data/log/api/$LOGFILE $LOGFILE96
  32. rsync -vzrtopg web@172.24.139.97::apilog/$LOGFILE $LOGFILE97
  33. rsync -vzrtopg web@172.24.139.98::apilog/$LOGFILE $LOGFILE98
  34. rsync -vzrtopg web@172.24.139.99::apilog/$LOGFILE $LOGFILE99
  35. #將不同伺服器上的記錄檔輸入到一個檔案中,只去其中的3、4列,去除其中含有關鍵字的行
  36. cat $LOGFILE96 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" > $TMP_LOG_FILE
  37. cat $LOGFILE97 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
  38. cat $LOGFILE98 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
  39. cat $LOGFILE99 | awk '{print $3,"\t" $4}'| grep -v "SSO_Send" >> $TMP_LOG_FILE
  40. #對全部日誌的檔案進行過濾排序,去掉重複記錄,輸入到另一個檔案中
  41. sort -u $TMP_LOG_FILE > $TMP_UNIQUE_FILE
  42. #輸出目前時間
  43. echo -e "\e[35;1m"`date +%Y-%m-%d\ %H:%M:%S`"\e[0m"
  44. #計算某些動作的行數,既是該動作的數量
  45. echo -e "\e[36;1mLOGIN NUMS\e[0m"
  46. cat $TMP_LOG_FILE | awk '{print $1}' | grep "1" |wc -l
  47. echo -e "\e[32;1mUSER NUMS\e[0m"
  48. cat $TMP_UNIQUE_FILE | awk '{print $1}' | grep "1" |wc -l
  49. echo -e "\e[33;1mCHECK_EXIST NUMS\e[0m"
  50. cat $TMP_LOG_FILE | awk '{print $1}' | grep "2" |wc -l
  51. #刪除臨時記錄檔
  52. rm $TMP_LOG_FILE
  53. rm $TMP_UNIQUE_FILE
  54. rm $LOGFILE96
  55. rm $LOGFILE97
  56. rm $LOGFILE98
  57. rm $LOGFILE99
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.