来一个可能防止恶意采集和爬虫的SH
没办法,公司的要求,还有,一些山寨爬虫完全不够我们运维人员的感觉,
一天爬虫搞个三四十万的LOG,那我只好干了。。
人家GOOGLE,BAIDU,一天大约也就五六千吧。。
有一个小的SSH技巧,是判断SSH命令执行成功与否,是否有返回值,不用IF,而直接用||和&&。
~~~~~~~~~~~~~~~~~~~~~
$?变量会被赋值为0,反之,赋值为-1。通过判断$?变量的方式确实可以满足我们的要求,但是需要用if判断,要写脚本,比较繁琐,有没有比较方便的命令呢。哈,肯定有的噻。
shell中还提供了快捷操作符: && 和 ||
// 此时存在/tmp/xxxx文件,执行了&&后面的命令 # ls /tmp/xxxx && echo '/tmp/xxxx exits' /tmp/xxxx /tmp/xxxx exits // 此时存在/tmp/xxxx文件,不执行 || 后面的命令 # ls /tmp/xxxx || echo '/tmp/xxxx exits' /tmp/xxxx
我们对上例可以这么分析,&& 签名的命令执行成功就执行后面的命令,|| 前面的命令执行失败才执行后面的命令。
~~~~~~~~~~
#/bin/sh
time_inter_minute=
alert_count=
head_count=
log_path="/xxx/xxx/log.log"
last_time=`date "-d -${time_inter_minute} minute" '+%d/%b/%G:%H:%M:%S'`
now_time=`date '+%d/%b/%G:%H:%M:%S'`
now_time_str="[${now_time}"
last_time_str="[${last_time}"
echo "start time: " $last_time
echo "end time: " $now_time
echo "alert_count: " $alert_count
shell_out=``
arra=($shell_out)
echo ${arra[@]}
for i in "${!arra[@]}"; do
` -eq ] ;then
]} != "xx.xx.xx.xx" ] ; then
/sbin/iptables -vnL|]} && ]} "have added"
/sbin/iptables -vnL|]} || /sbin/iptables -I INPUT -s ${arra[$i+]} -j DROP
fi
fi
done
这个IP好过分哟

来一个可能防止恶意采集和爬虫的SH的更多相关文章
- linux防止恶意采集攻防战
这两天ytkah开发的一个中大型项目被人盯上了,网站打开非常慢,查看了一下cpu.内存使用情况,30%左右占用不高,网络上下行就比较大了,IO实时流量达到40MB,IO总流量更是7TB,非常大的数据量 ...
- 搜狗微信采集 —— python爬虫系列一
前言:一觉睡醒,发现原有的搜狗微信爬虫失效了,网上查找一翻发现10月29日搜狗微信改版了,无法通过搜索公众号名字获取对应文章了,不过通过搜索主题获取对应文章还是可以的,问题不大,开搞! 目的:获取搜狗 ...
- 一个使用 asyncio 开发的网络爬虫(译文)
原文地址:https://www.aosabook.org/en/500L/a-web-crawler-with-asyncio-coroutines.html 作者简介 A. Jesse Jiryu ...
- 网络爬虫:使用Scrapy框架编写一个抓取书籍信息的爬虫服务
上周学习了BeautifulSoup的基础知识并用它完成了一个网络爬虫( 使用Beautiful Soup编写一个爬虫 系列随笔汇总 ), BeautifulSoup是一个非常流行的Python网 ...
- 一个超级简单的node.js爬虫(内附表情包)
之所以会想到要写爬虫,并不是出于什么高大上的理由,仅仅是为了下载个表情包而已-- 容我先推荐一下西乔出品的神秘的程序员表情包. 这套表情包着实是抵御产品.对付测试.嘲讽队友.恐吓前任的良品, 不过不知 ...
- 一个Python小白5个小时爬虫经历
前言 最近业余在做一个基于.NET Core的搜索项目,奈何基层代码写好了,没有看起来很华丽的数据供测试.很巧的也是博客搜索,于是乎想到了博客园.C#也能做做页面数据抓取的,不过在博客园看到的大部分都 ...
- 一文教您如何通过 Java 压缩文件,打包一个 tar.gz Filebeat 采集器包
欢迎关注笔者的公众号: 小哈学Java, 专注于推送 Java 领域优质干货文章!! 个人网站: https://www.exception.site/essay/create-tar-gz-by-j ...
- 一个Python小白如何快速完成爬虫
很人或多或少都听说过python爬虫,但不知道如何通过python爬虫来爬取自己想要的内容,今天我就给大家说一个爬虫教程来实现自己第一次python爬虫. 环境搭建 既然用python,那么自然少不了 ...
- 一个基于Scrapy框架的pixiv爬虫
源码 https://github.com/vicety/Pixiv-Crawler,功能什么的都在这里介绍了 说几个重要的部分吧 登录部分 困扰我最久的部分,网上找的其他pixiv爬虫的登录方式大多 ...
随机推荐
- 状压dp-poj-1170-Shopping Offers
题目链接: http://poj.org/problem?id=1170 题目意思: 购物车里有b种(0=<b<=5)物品,每种物品告诉物品代号c(1=<c<=999),数量为 ...
- Java中List转换为数组,数组转List
今天写代码遇到一个奇怪的问题,具体代码不贴出了,写一个简化的版本.如下: ArrayList<String> list=new ArrayList<String>(); ...
- C++ —— 库函数的 语法解析
1.__declspec 用法总结 链接:http://blog.chinaunix.net/uid-24517893-id-2749061.html 详解2:http://www.01yun.com ...
- android:ellipsize的使用
EidtText和textview中内容过长的话自动换行,使用android:ellipsize与android:singleine可以解决,使只有一行. EditText不支持marquee 用法如 ...
- XCode5/Apple LLVM 5.0下使用boost的方法
Because Apple changes the compiler to llvm only in XCode5, so there are some compatible problems wit ...
- NYOJ 1091 超大01背包(折半枚举)
这道题乍一看是普通的01背包,最最基础的,但是仔细一看数据,发现普通的根本没法做,仔细观察数组发现n比较小,利用这个特点将它划分为前半部分和后半部分这样就好了,当时在网上找题解,找不到,后来在挑战程序 ...
- CSS3 字体
CSS3 @font-face 规则 在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体. 通过 CSS3,web 设计师可以使用他们喜欢的任意字体. 当您您找到或购买到希望使用的 ...
- SOA
面向服务架构Service-Oriented Architecture 4个特性 1每个服务具有明确的边界 2服务是独立的 3采用标准的契约定义和通信协议 4服务是自解释的
- zookeeper主要使用场景
场景一:有一组服务器向客户端提供某种服务,我们希望客户端每次请求服务端都可以找到服务端集群中某一台服务器,这样服务端就可以向客户端提供客户端所需的服务.对于这种场景,我们的程序中一定有一份这组服务器的 ...
- swift 闭包 由浅入深 优化
//: Playground - noun: a place where people can play import UIKit ////////////////////////////////// ...