i85201314 发表于 2024-1-9 11:04:22

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

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




用于监控服务器的脚本,记录IP访问,
我是写来监控梦幻诛仙的,你们修改一下 Nginx_BtPython3_Java.sh 就可以

Nginx_BtPython3_Java.sh代码如下
主要监控 python3宝塔 nginx站点 java
启动./Nginx_BtPython3_Java.sh &
#!/bin/bash
#-----------------------------
# 2024.01.09 第二版
# 主要用来检查异常访问
# 端口自己改就可以
# 定期删除 rm -rf /root/i8520_bt_logs/nginx_bt-python3_java.log.X
#-----------------------------
Nginx_BtPython3_Java(){
MY_LOGS_DIR='/root/i8520_bt_logs'
if [[ ! -f ${MY_LOGS_DIR}/lock ]]
then
mkdir -p ${MY_LOGS_DIR}
echo "" > ${MY_LOGS_DIR}/lock
fi
# nginx web 检查网站访问IP
MY_NGINX='nginx'
# 网站端口
MY_NGINX_PORT='1314'
# 宝塔 web
MY_PYTHON='python3'
# 宝塔 端口
MY_PYTHON_PORT='1315'
#java web 访问IP
MY_JAVA='java'
# java 端口
MY_JAVA_PORT='1316'
#输出到 /root/i8520_bt_logs/nginx_bt-python3_java.log
MY_LOG="${MY_LOGS_DIR}/nginx_bt-python3_java.log"
netstat -nap | grep "${MY_NGINX}"| grep "${MY_NGINX_PORT}"| awk '{print $5}' | \
grep -E -o '{1,3}\.{1,3}\.{1,3}\.{1,3}' >> ${MY_LOG}
netstat -nap | grep "${MY_PYTHON}" | grep "${MY_PYTHON_PORT}" | awk '{print $5}' | \
grep -E -o '{1,3}\.{1,3}\.{1,3}\.{1,3}' >> ${MY_LOG}
netstat -nap | grep "${MY_JAVA}"   | grep "${MY_JAVA_PORT}"   | awk '{print $5}' | \
grep -E -o '{1,3}\.{1,3}\.{1,3}\.{1,3}' >> ${MY_LOG}
#过滤重复行 输出到 /root/i8520_bt_logs/nginx_bt-python3_java.log.X
DATA_X=`date +"%Y年 %m月 %d日 %H:%M:%S"`
echo "${DATA_X}" >> ${MY_LOG}.X
sort -k2n ${MY_LOG} | awk '{if ($0!=line) print;line=$0}' >> ${MY_LOG}.X
#删除旧的日至文件 /root/i8520_bt_logs/nginx_bt-python3_java.log
rm -rf ${MY_LOG}
}
# 每隔10秒执行一次
while true ; do

      sleep10s
      Nginx_BtPython3_Java

done
iplog.sh

启动./iplog.sh
#!/bin/bash
#-----------------------------
# 2024.01.09 第二版
# 配合 inx_BtPython3_Java.sh 脚本使用,
# 需要先执行inx_BtPython3_Java.sh
# 在网站 开启 防盗链接 限流 在宝塔面板设置
#-----------------------------
MY_LOGS_DIR='/tmp/i8520_bt_logs'
MY_LOGS_DIR_2='/root/i8520_bt_logs'
if [[ ! -f ${MY_LOGS_DIR}/lock ]]
then
mkdir -p ${MY_LOGS_DIR}
echo "" > ${MY_LOGS_DIR}/lock
fi
#-----------------------------
# 处理
# /www/wwwlogs/192.168.5.30.error.log
#-----------------------------
#你的网站IP
WEB_IP='192.168.5.30'
WWWlogs="/www/wwwlogs/${WEB_IP}.error.log"
grep -Eo '{1,3}\.{1,3}\.{1,3}\.{1,3}' ${WWWlogs} > ${MY_LOGS_DIR}/ip-1.log
DATA_X=`date +"%Y年 %m月 %d日 %H:%M:%S"`
echo -e "==============================\n${DATA_X}" >> ${MY_LOGS_DIR}/ipx-1.log
echo "NGINX 主要是下载的IP" >> ${MY_LOGS_DIR}/ipx-1.log
sort -k2n ${MY_LOGS_DIR}/ip-1.log | awk '{if ($0!=line) print;line=$0}' >> ${MY_LOGS_DIR}/ipx-1.log
sleep0.5s
#-----------------------------
# 处理
# /root/i8520_bt_logs/nginx_bt-python3_java.log.X
#-----------------------------
cat ${MY_LOGS_DIR_2}/nginx_bt-python3_java.log.X | \
grep -E -o '{1,3}\.{1,3}\.{1,3}\.{1,3}' | \
sed 's/0.0.0.0//g'> ${MY_LOGS_DIR}/ip-2.log
echo -e "==============================\n主要是访问IP的\n读取时间${DATA_X}" >> ${MY_LOGS_DIR}/ipx-2.log
sort -k2n ${MY_LOGS_DIR}/ip-2.log | awk '{if ($0!=line) print;line=$0}'   >> ${MY_LOGS_DIR}/ipx-2.log
#-----------------------------
# 合并文件
#-----------------------------
cat ${MY_LOGS_DIR}/ipx-1.log >>${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
cat ${MY_LOGS_DIR}/ipx-2.log >>${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
#-----------------------------
# 读取文件
#-----------------------------
cat ${MY_LOGS_DIR}/MY_IP_LOGS_I8520.LOG
#-----------------------------
# 删除文件
#-----------------------------
rm -rf ${MY_LOGS_DIR}/ip-1.log
rm -rf ${MY_LOGS_DIR}/ipx-1.log
rm -rf ${MY_LOGS_DIR}/ip-2.log
rm -rf ${MY_LOGS_DIR}/ipx-2.log
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




909225104 发表于 2024-1-9 11:42:38

牛啤!:

ErrorJ 发表于 2024-1-9 12:27:56

感谢大佬分享

q87962979 发表于 2024-1-9 12:45:45

有没有好心大哥哥帮帮我,女萌新架设遇到难题了

i85201314 发表于 2024-1-9 14:22:00

q87962979 发表于 2024-1-9 12:45
有没有好心大哥哥帮帮我,女萌新架设遇到难题了

你要假设什么游戏

cxsj002 发表于 2024-1-9 21:44:17

感谢楼主分享

子辰_ArcticFox 发表于 2024-1-9 22:48:46

感谢分享

q87962979 发表于 2024-1-10 01:47:58

i85201314 发表于 2024-1-9 14:22
你要假设什么游戏

架设的剑侠情缘手游,linux系统的,我架设了6遍,客户端都没有显示该有的区组,我名字有我扣扣

mengfang1 发表于 2024-1-10 09:30:47

支持 谢谢分享

i85201314 发表于 2024-1-10 10:01:34

本帖最后由 i85201314 于 2024-1-10 10:09 编辑

q87962979 发表于 2024-1-10 01:47
架设的剑侠情缘手游,linux系统的,我架设了6遍,客户端都没有显示该有的区组,我名字有我扣扣
把手工端发给我看看我的QQ910102814

tuhecc 发表于 2024-1-10 23:43:45

感谢分享

weiweiku 发表于 2024-1-10 23:52:55

感谢这位愿意分享的小可爱!!!

填好了 发表于 2024-1-11 19:29:32

回复赚金币

tuhecc 发表于 2024-1-13 16:41:38

感谢分享

tuhecc 发表于 2024-1-14 10:19:18

感谢分享
页: [1]
查看完整版本: 【记录IP访问】用于监控服务器的脚本

本站内容如若侵犯到您的权益,请来电来函告知,我们会尽快处理!
联系QQ:1953150286,2251387361,123784736,免责申明