#/bin/bash

#日志文件

logfile='/var/log/nginx/access.log'

hours=1

#开始时间

start_time=date -d "-$hours hour" +"%H:%M:%S"

#echo $start_time

#结束时间

stop_time=date +"%H:%M:%S"

#echo $stop_time

#过滤出单位之间内的日志并统计最高ip数

array=($(tac $logfile | awk -v st="$start_time" -v et="$stop_time" '{t=substr($4,RSTART+14,21);if(t>=st && t<=et) {print $0}}' \

| awk '{print $1}' | sort | uniq -c | sort -nr |awk '{if($1 > 5000){print $0}}'|awk '{print $2}'))

wait

for each in ${array[@]}

do

echo $each

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='$each' reject"

done

firewall-cmd --reload

linux防火墙拒绝访问,过滤nginx日志并添加防火墙拒绝访问 centos7相关推荐

  1. linux awk 日志分析,Linux Awk使用案例总结 nginx日志统计

    文章目录 [隐藏] 一.Nginx日志分析 知识点: 数组 数组是用来存储一系列值的变量,可通过索引来访问数组的值. Awk中数组称为关联数组,因为它的下标(索引)可以是数字也可以是字符串. 下标通常 ...

  2. linux 分析nginx日志,Linux Awk使用案例总结-nginx日志统计

    Nginx日志分析(截图和文字日志格式不同) 日志格式:'$remote_addr - $remote_user [$time_local] "$request" $status ...

  3. linux apache 跨域,解决nginx/apache静态资源跨域访问问题详解

    1. apache静态资源跨域访问 找到apache配置文件httpd.conf 找到这行 #LoadModule headers_module modules/mod_headers.so 把#注释 ...

  4. nginx日志中添加请求的response日志

    换个新公司,做一些新鲜的事情,经过一天的琢磨,终于成功添加response日志 在nginx的日志中添加接口response的日志 由于此功能在nginx内置的功能中没有,需要安装第三方模块ngx_l ...

  5. 用AWK来过滤nginx日志中的特定值~~~

    前天开发的同事让我帮忙分析下 nginx访问日志,他只要访问日志里面的4个值 ,我看了下nginx的日志格式,下面是其中一段 124.227.66.162 - - [25/Jan/2010:13:42 ...

  6. ELK实践(二):收集Nginx日志

    Nginx访问日志 这里补充下Nginx访问日志使用的说明.一般在nginx.conf主配置文件里需要定义一种格式: log_format main '$remote_addr - $remote_u ...

  7. Nginx 日志配置、日志切割、日志切割脚本

    文章目录 前言 一.access_log 1.语法 2.基本用法 3.作用域 4.log_format 自定义日志格式 二.error_log 1.语法 2.基本用法 3.作用域 4.rewrite_ ...

  8. Nginx日志切割及配置

    文章目录 前言 一.Logrotate是什么? 二.使用步骤 1.Logrotate 安装 2.Logrotate 文件目录 3.Logrotate 命令参数 4.Logrotate 常用配置参数 5 ...

  9. 宝塔linux shell定时访问url,bt(宝塔)面板添加shell 脚本通过nginx日志封访问频率过高的IP...

    额,这篇文章是bt(宝塔)面板来写的文章,其他的程序如果是wdcp管理面板也有添加shell脚本的功能,大鸟自己用的是bt(宝塔)面板,所以说说如何添加shell 脚本通过nginx日志封访问频率过高 ...

最新文章

  1. 结构体成员数组不定长如何实现
  2. 解决deepin微信无法登录
  3. virtualbox安装linux教程 光驱启动进入grub,VirtualBox下GRUB硬盘安装Linux Mint和 Arch Linux的实践...
  4. Hadoop之Hadoop基础知识
  5. adobe audition cs6 能打开mpcm文件吗?_PR竟然有手机版的了?Adobe正式推出Premiere Rush版(内含安装包)!...
  6. python编程求导数_面向对象编程 —— java实现函数求导
  7. python 连续三个数满足条件_计算满足条件的连续值数(Pandas Dataframe)
  8. 与Zell关闭星期五
  9. linux挂载VMFS硬盘,linux – ESX Guest中的硬件磁盘错误,在vmfs支持的驱动器上……这怎么可能?...
  10. php web服务器部署,php – 如何配置apache web服务器以部署laravel 5
  11. json对象的封装与解析
  12. python 数据分析实践--(1)收入预测分析
  13. 云数据库和本地数据库有什么区别?
  14. 怎样访问ftp服务器文件夹权限,访问ftp服务器文件夹权限设置
  15. 在Web中使用jsmpeg.js低时延播放RTSP视频流(海康、大华)方案 - vue-jsmpeg-player
  16. 0xc0000225无法进系统_win10系统出现0xc0000225无法进入系统的恢复方法
  17. 基于RWEQ模型的土壤风蚀模数估算及其变化归因分析、RWEQ模型相关的SCI论文撰写技巧
  18. EDM邮件营销需要开展多久才能取得最佳的营销效果
  19. MySQL数据库的DQL(数据查询语言)使用---指定查询字段、去重(distinct)、where条件子句、联表查询(xxx join)、分页(order by)和排序(limit)
  20. Makefile中传递宏定义字符串给C

热门文章

  1. Android高性能音频之OpenSL ES录音流程(一)
  2. 将kubernetes制作成一个3D射击游戏,好玩的停不下来,附源码
  3. unity 开发射击打靶vr_自制Unity3D VR射击游戏
  4. AudioTrack播放流程
  5. 10 种最佳 IDE 软件 ,你更忠爱哪一个?
  6. 耶鲁大学计算机科学录取,重磅!!!耶鲁大学计算机科学录取+1!
  7. biso efi uefi
  8. 大学学什么课会用到matlab,高校蹭课?这份蹭课攻略请收好!| 内附福利
  9. memcpy的效率问题
  10. 一道高数题的不等式解法