针对nginx日志做ip访问限制

1.cat /var/log/server/nginx/access.log| awk -F '?' '/optionid/{print $1}'|awk '{print $1}' 获取含有optionid字符串行的行的ip

2.sort -r| uniq -c |sort -nr |awk '$1>1000{print $2}' >/var/log/server/nginx/denyip.log对获取的ip排序,计算大于1000次写入到denyip.log文件中

3.读取denyip.log文件中的ip地址,查看是否已经写入防火墙,没有的话添加iptables防火墙命令

  1. #! /bin/bash
  2. cat /var/log/server/nginx/www.test.com_access.log| awk -F '?' '/optionid/{print $1}'|awk '{print $1}'|sort -r| uniq -c |sort -nr |awk '$1>1000{print $2}' >/var/log/server/nginx/denyip.log
  3. for i in `cat /var/log/server/nginx/denyip.log|sort -nr|uniq -u`
  4. do
  5. NUM=`/etc/init.d/iptables status|grep -c $i`
  6. echo $NUM
  7. if [ $NUM -eq '' ];then
  8. iptables -I INPUT -s "$i" -j DROP
  9. fi
  10. done

Linux 针对nginx日志文件做ip防刷限制的更多相关文章

  1. Nginx日志文件配置与切割

    Nginx日志的指令主要有两条: log_format,设置日志的格式 access_log,指定日志文件的存放路径.格式和缓存大小 两条指令在Nginx配置文件中的位置可以在http{……..}之间 ...

  2. Nginx 日志文件切割

    Nginx 是一个非常轻量的 Web 服务器,体积小.性能高.速度快等诸多优点.但不足的是也存在缺点,比如其产生的访问日志文件一直就是一个,不会自动地进行切割,如果访问量很大的话,将 导致日志文件容量 ...

  3. 转:Nginx 日志文件切割

    http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 偶然发现access.log有21G大,所以将其切割. Nginx 是一个非常 ...

  4. 自定义Nginx日志格式获取IP地址的省市份信息

    注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6806672112477012493/ 在linux中nginx日志产生的格式是下面的配置: $remote_add ...

  5. 使用logrotate管理nginx日志文件

    本文转载自:http://linux008.blog.51cto.com/2837805/555829 描述:linux日志文件如果不定期清理,会填满整个磁盘.这样会很危险,因此日志管理是系统管理员日 ...

  6. nginx(四)初识nginx日志文件

    nginx 日志相关指令主要有两条,一条是log_format,用来设置日志格式,另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小,通俗的理解就是先用log_format来定 ...

  7. apache与nginx日志文件的区别(转载)

    apache与nginx日志文件的区别 转载:http://www.xfcodes.com/apache/log/3270.htm 导读:apache与nginx日志文件的区别,在apache与ngi ...

  8. Linux下重要日志文件及查看方式

    http://os.51cto.com/art/201108/282184_all.htm   1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的 ...

  9. 使用Python 统计nginx日志前十ip访问量并以柱状图显示

    脚本内容: import matplotlib.pyplot as plt # nginx_file = '10.6.11.91_access.log-2018-12-27' ip = {} #筛选n ...

随机推荐

  1. python 豆瓣验证码识别总结

    总结:  pytesseract 识别比较标准的图片  识别成功率   还是不错的. 验证码的图片识别 需要先处理好   再用pytesseract 识别 from PIL import Image  ...

  2. python requests 的cookie 操作

    结论: 1.requests模块的请求和响应分别有cookie对象. 可以通过此对象设置和获取cookie. 2.通过在requests.get,requests.post等方法请求中传入cookie ...

  3. 在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持

    在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持  http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.htm ...

  4. Leetcode 回溯法 典型例题

    那些要求列举所有的情况,或者说所有的情况都要探讨一下的例题,一般都可以考虑回溯法. 当遇到一个可以用到回溯法的时候需要按照如下步骤进行: 1.确定问题一个可以用到回溯法的时候需要按照如下步骤进行: 1 ...

  5. jsp自定义标签开发

    参考:http://blog.csdn.net/lw001x/article/details/7589302

  6. CF712E [Memort and Casinos]

    题意 每次询问一段区间[l,r],求从最左边走到最右边(r+1)的概率(若走到l-1,则GG了),每个点上写有向右走的概率.支持单点修改. 思考 若只查询一次,那只要知道每个点在不走到l-1的情况下, ...

  7. maven scope和项目发布需要注意的地方

    Maven Scope的使用: http://www.cnblogs.com/wangyonghao/p/5976055.html servlet-api和jsp-api等jar包,一般由servle ...

  8. 第三篇 功能实现(3) (Android学习笔记)

    第三篇 功能实现(3) ●发一个广播和启动一个隐式的Intent非常像,那么它们之间有什么区别呢? Implicit Intents (sent via startActivity( )) and B ...

  9. (C/C++学习笔记) 十九. 模板

    十九. 模板 ● 模板的基本概念 模板(template) 函数模板:可以用来创建一个通用功能的函数,以支持多种不同形参,进一步简化重载函数的函数体设计. 语法: template <<模 ...

  10. 1.5 socket服务器传输文件

    socket服务器代码 # -*- coding: utf-8 -*-import sys,os,time,_thread from socket import * host = 'localhost ...