shell利用mysql表项的icmp检测
作者:邓聪聪
利用mysql的表项记录IP地址和对应状态
+----+-----------------+--------+--------+
| id | ip_host | desc | status |
+----+-----------------+--------+--------+
| | 8.8.8.8 | 电信 | |
| | 114.114.114.114 | 联通 | |
| | 114.114.114.117 | 测试 | |
| | 2.2.2.2 | 电信 | |
| | 222.222.222.1 | 电信 | |
| | 223.3.2.2 | 谷歌 | |
| | 23.24.24.32 | 测完 | |
| | 232.23.22.32 | 测试 | |
+----+-----------------+--------+--------+
shell脚本内容:
#!/bin/sh
PATH=$PATH DB_table="iphost"
DB_status="status"
DB_vlues="ip_host"
ping_ip(){
sql_host_status=`mysql -uusername -ppassword test -e "select status from $DB_table where ip_host='$1'"|grep -v $DB_status`
ping -c -W $ > /dev/null >&
if [ $? -ne $sql_host_status ]
then
des=`mysql -uusername -ppassword test -e "select * from iphost where $DB_vlues like '$1'"|awk '{print $3}'|grep -v desc`
if [ $sql_host_status == ]
then
#$sql_host_status=""
echo "$1 is bad"
#更新状态为1
mysql -uusername -ppassword test -e "update $DB_table set $DB_status='1' where ($DB_vlues='$1')"
else
#$sql_host_status=""
echo "$1 is ok"
#更新状态为0
mysql -uusername -ppassword test -e "update $DB_table set $DB_status='0' where ($DB_vlues='$1')"
fi
else
continue
fi
}
while true
do
echo ""
while true
do
for i in `mysql -uusername -ppassword test -e "select ip_host from iphost" |awk '{print $1}'|grep -v ip_host`
do
ping_ip $i
done
done
sleep
break
done
shell利用mysql表项的icmp检测的更多相关文章
- 在SQL注入中利用MySQL隐形的类型转换绕过WAF检测
web应用一般采用基于表单的身份验证方式(页面雏形如下图所示),处理逻辑就是将表单中提交的用户名和密码传递到后台数据库去查询,并根据查询结果判断是否通过身份验证.对于LAMP架构的web应用而言,处理 ...
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- 利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误 Database query error
===========================测试成功============================================= 1.页面出现错误:Database query ...
- 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- (转)企业Shell实战-MySQL分库分表备份脚本
本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ...
- 安全之路 —— C/C++实现利用添加注册表项实现文件自启动
简介 添加注册表项是实现文件自启动的经典方法之一,但因为操作注册表项是一个敏感操作,被报毒可能性较大,但即便如此,这个方法还是值得一学的,因为后期大部分编程都涉及到注册表操作. 最常使用到的注册表项有 ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
- shell处理mysql增、删、改、查
引言 这几天做一个任务,比对两个数据表中的数据,昨天用PHP写了一个版本,但考虑到有的机器没有php或者php没有编译mysql扩展,就无法使用mysql系列的函数,脚本就无效了,今天写个sh ...
随机推荐
- jmeter学习记录--10--二次开发环境搭建
JMeter源码集成到Eclipse.JMeter二次开发(1)-eclipse环境配置及源码编译 ,根据此文章记录将jmeter源码集成到myecplise 第一步:下载jmeter源码http:/ ...
- ubuntu linux 安装分区
挂载点/:主分区:安装系统和软件:大小为150G:分区格式为ext4: 挂载点/home:逻辑分区:相当于"我的文档":150G大小为硬盘剩下的; 分区格式ext4: swap:逻 ...
- Url校验正则
最近需要对HTTP请求合法性做一些校验,在网上查找了一些关于URL合法性的正则表达式. 在github上的有个关于weburl匹配的gist: https://gist.github.com/dper ...
- python可迭代对象和迭代器和生成器
可迭代对象 刚开始我认为这两者是等同的,但后来发现并不是这样:下面直接抛出结论: )可迭代对象包含迭代器. )如果一个对象拥有__iter__方法,其是可迭代对象:如果一个对象拥有next方法,其是迭 ...
- mpvue——Error: Cannot find module 'escape-string-regexp'
报错 $ cnpm run build > mpvue-qq@1.0.0 build D:\wamp\www\wxsmallsoft\mini-0212\mpvueQQ > node bu ...
- 【THUSC2017】【LOJ2979】换桌 线段树 网络流
题目大意 有 \(n\) 个圆形的桌子排成一排,每个桌子有 \(m\) 个座位. 最开始每个位置上都有一个人.现在每个人都要重新选择一个座位,第 \(i\) 桌的第 \(j\) 个人的新座位只能在第 ...
- Dlib Python 检测人脸特征点 Face Landmark Detection
首先安装Dlib,Opencv库 Dlib安装链接:http://www.cnblogs.com/as3asddd/p/7237280.html 环境:Mac Sierra 10.12.1 Pytho ...
- luogu4365 秘密袭击 (生成函数+线段树合并+拉格朗日插值)
求所有可能联通块的第k大值的和,考虑枚举这个值: $ans=\sum\limits_{i=1}^{W}{i\sum\limits_{S}{[i是第K大]}}$ 设cnt[i]为连通块中值>=i的 ...
- Multi-View 3D Reconstruction with Geometry and Shading——Part-2
From PhDTheses Multi-View 3D Reconstruction with Geometry and Shading 我们的主要目标是只利用图像中的信息而没有额外的限制或假设来得 ...
- SQL Server数据库中表的查
DataSet 数据集 DataAdapter 数据适配器,DataSet对象与实际数据源之间的桥梁,自动开闭数据库连接,省略Open.Close.填充数据集,需要用到Fill方法. using Sy ...