• 日志分析的shell脚本


    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. #将不同服务器上的日志文件输入到一个文件中,只去其中的34列,去除其中含有关键字的行
    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
  • 相关阅读:
    如何在GitHub上生成ssh公钥并用NetBeans克隆项目
    python学习笔记
    Linux命令的学习
    ubuntu16.04下安装配置深度学习环境(Ubuntu 16.04/16.10+ cuda7.5/8+cudnn4/5+caffe)
    CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构的区别
    linux 下安装eclipse和pydev插件用来开发python程序
    POJ
    Gym
    洛谷P4983 忘情 (WQS二分+斜率优化)
    HDU
  • 原文地址:https://www.cnblogs.com/buffer/p/1608952.html
Copyright © 2020-2023  润新知