【记录IP访问】用于监控服务器的脚本

本帖最后由 i85201314 于 2024-1-9 17:37 编辑

QQ截图20240109113124.png (32.47 KB, 下载次数: 0)

下载附件

2024-1-9 11:32 上传


001.png (44.98 KB, 下载次数: 0)

下载附件

2024-1-9 11:35 上传

002.png (26.91 KB, 下载次数: 0)

下载附件

2024-1-9 11:36 上传





用于监控服务器的脚本,记录IP访问,


我是写来监控梦幻诛仙的,你们修改一下 Nginx_BtPython3_Java.sh 就可以


图片[1]-【记录IP访问】用于监控服务器的脚本-网游单机社区-网游单机-七玩网
shell脚本-BT-2-1.zip (2.74 KB, 下载次数: 20) 2024-1-9 17:35 上传 点击文件名下载附件

Nginx_BtPython3_Java.sh  代码如下

主要监控
python3宝塔
nginx站点 java

启动  ./Nginx_BtPython3_Java.sh &

  1. #!/bin/bash
  2. #—————————–
  3. # 2024.01.09 第二版
  4. # 主要用来检查异常访问
  5. # 端口自己改就可以
  6. # 定期删除 rm -rf /root/i8520_bt_logs/nginx_bt-python3_java.log.X
  7. #—————————–
  8. Nginx_BtPython3_Java(){
  9. MY_LOGS_DIR=’/root/i8520_bt_logs’
  10. if [[ ! -f ${MY_LOGS_DIR}/lock ]]
  11. then
  12.   mkdir -p ${MY_LOGS_DIR}
  13.   echo “” > ${MY_LOGS_DIR}/lock
  14. fi
  15. # nginx web 检查网站访问IP
  16. MY_NGINX=’nginx’
  17. # 网站端口
  18. MY_NGINX_PORT=’1314′
  19. # 宝塔 web
  20. MY_PYTHON=’python3′
  21. # 宝塔 端口
  22. MY_PYTHON_PORT=’1315′
  23. #java web 访问IP
  24. MY_JAVA=’java’
  25. # java 端口
  26. MY_JAVA_PORT=’1316′
  27. #输出到 /root/i8520_bt_logs/nginx_bt-python3_java.log
  28. MY_LOG=”${MY_LOGS_DIR}/nginx_bt-python3_java.log”
  29. netstat -nap | grep “${MY_NGINX}”  | grep “${MY_NGINX_PORT}”  | awk ‘{print $5}’ | \
  30. grep -E -o ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}’ >> ${MY_LOG}
  31. netstat -nap | grep “${MY_PYTHON}” | grep “${MY_PYTHON_PORT}” | awk ‘{print $5}’ | \
  32. grep -E -o ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}’ >> ${MY_LOG}
  33. netstat -nap | grep “${MY_JAVA}”   | grep “${MY_JAVA_PORT}”   | awk ‘{print $5}’ | \
  34. grep -E -o ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}’ >> ${MY_LOG}
  35. #过滤重复行 输出到 /root/i8520_bt_logs/nginx_bt-python3_java.log.X
  36. DATA_X=`date +”%Y年 %m月 %d日 %H:%M:%S”`
  37. echo “${DATA_X}” >> ${MY_LOG}.X
  38. sort -k2n ${MY_LOG} | awk ‘{if ($0!=line) print;line=$0}’ >> ${MY_LOG}.X
  39. #删除旧的日至文件 /root/i8520_bt_logs/nginx_bt-python3_java.log
  40. rm -rf ${MY_LOG}
  41. }
  42. # 每隔10秒执行一次
  43. while true ; do
  44.       sleep  10s
  45.       Nginx_BtPython3_Java
  46. done

复制代码 iplog.sh

启动  ./iplog.sh

  1. #!/bin/bash
  2. #—————————–
  3. # 2024.01.09 第二版
  4. # 配合 inx_BtPython3_Java.sh 脚本使用,
  5. # 需要先执行inx_BtPython3_Java.sh
  6. # 在网站 开启 防盗链接 限流 在宝塔面板设置
  7. #—————————–
  8. MY_LOGS_DIR=’/tmp/i8520_bt_logs’
  9. MY_LOGS_DIR_2=’/root/i8520_bt_logs’
  10. if [[ ! -f ${MY_LOGS_DIR}/lock ]]
  11. then
  12.   mkdir -p ${MY_LOGS_DIR}
  13.   echo “” > ${MY_LOGS_DIR}/lock
  14. fi
  15. #—————————–
  16. # 处理
  17. # /www/wwwlogs/192.168.5.30.error.log
  18. #—————————–
  19. #你的网站IP
  20. WEB_IP=’192.168.5.30′
  21. WWWlogs=”/www/wwwlogs/${WEB_IP}.error.log”
  22. grep -Eo ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}’ ${WWWlogs} > ${MY_LOGS_DIR}/ip-1.log
  23. DATA_X=`date +”%Y年 %m月 %d日 %H:%M:%S”`
  24. echo -e “==============================\n${DATA_X}” >> ${MY_LOGS_DIR}/ipx-1.log
  25. echo “NGINX 主要是下载的IP” >> ${MY_LOGS_DIR}/ipx-1.log
  26. sort -k2n ${MY_LOGS_DIR}/ip-1.log | awk ‘{if ($0!=line) print;line=$0}’ >> ${MY_LOGS_DIR}/ipx-1.log
  27. sleep  0.5s
  28. #—————————–
  29. # 处理
  30. # /root/i8520_bt_logs/nginx_bt-python3_java.log.X
  31. #—————————–
  32. cat ${MY_LOGS_DIR_2}/nginx_bt-python3_java.log.X | \
  33. grep -E -o ‘[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}’ | \
  34. sed ‘s/0.0.0.0//g’> ${MY_LOGS_DIR}/ip-2.log
  35. echo -e “==============================\n主要是访问IP的\n读取时间${DATA_X}” >> ${MY_LOGS_DIR}/ipx-2.log
  36. sort -k2n ${MY_LOGS_DIR}/ip-2.log | awk ‘{if ($0!=line) print;line=$0}’     >> ${MY_LOGS_DIR}/ipx-2.log
  37. #—————————–
  38. # 合并文件
  39. #—————————–
  40. cat ${MY_LOGS_DIR}/ipx-1.log >>  ${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
  41. cat ${MY_LOGS_DIR}/ipx-2.log >>  ${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
  42. #—————————–
  43. # 读取文件
  44. #—————————–
  45. cat ${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
  46. #—————————–
  47. # 删除文件
  48. #—————————–
  49. rm -rf ${MY_LOGS_DIR}/ip-1.log
  50. rm -rf ${MY_LOGS_DIR}/ipx-1.log
  51. rm -rf ${MY_LOGS_DIR}/ip-2.log
  52. rm -rf ${MY_LOGS_DIR}/ipx-2.log
  53. rm -rf ${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG

复制代码 #——————————————————————-

使用流程

./Nginx_BtPython3_Java.sh &    这个是要在关闭服务器后需要在执行一次,这个会在后台循环执行

./iplog.sh 每次启动时使用

或者 ./iplog-1.sh  这个显示归属地

#——————————————————————

记得定期清理

rm -rf /root/i8520_bt_logs/nginx_bt-python3_java.log.X

请登录后发表评论

    没有回复内容