作者:邓聪聪

  利用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检测的更多相关文章

  1. 在SQL注入中利用MySQL隐形的类型转换绕过WAF检测

    web应用一般采用基于表单的身份验证方式(页面雏形如下图所示),处理逻辑就是将表单中提交的用户名和密码传递到后台数据库去查询,并根据查询结果判断是否通过身份验证.对于LAMP架构的web应用而言,处理 ...

  2. 利用Flume将MySQL表数据准实时抽取到HDFS

    转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...

  3. 利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误 Database query error

    ===========================测试成功============================================= 1.页面出现错误:Database query ...

  4. 4. 利用MySQL Shell安装部署MGR集群 | 深入浅出MGR

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4 ...

  5. C# 利用mysql.data 在mysql中创建数据库及数据表

    C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...

  6. (转)企业Shell实战-MySQL分库分表备份脚本

    本文来自http://www.xuliangwei.com/xubusi/252.html 免费视频讲解见 http://edu.51cto.com/course/course_id-5064.htm ...

  7. 安全之路 —— C/C++实现利用添加注册表项实现文件自启动

    简介 添加注册表项是实现文件自启动的经典方法之一,但因为操作注册表项是一个敏感操作,被报毒可能性较大,但即便如此,这个方法还是值得一学的,因为后期大部分编程都涉及到注册表操作. 最常使用到的注册表项有 ...

  8. 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL

    创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...

  9. shell处理mysql增、删、改、查

    引言     这几天做一个任务,比对两个数据表中的数据,昨天用PHP写了一个版本,但考虑到有的机器没有php或者php没有编译mysql扩展,就无法使用mysql系列的函数,脚本就无效了,今天写个sh ...

随机推荐

  1. MySql插入点数据

    DROP PROCEDURE IF EXISTS pre;delimiter $$ CREATE PROCEDURE pre ()BEGIN DECLARE i INT DEFAULT 1 ;WHIL ...

  2. git配置ssh秘钥(公钥以及私钥)

    桌面版git,  本文以github为例,gitlab等其它托管平台一样操作 当我们将代码托管到远程平台(GitHub.gitlab等)时, 我们需要在本地使用git进行push/pull代码时,需要 ...

  3. 详解TCP三次握手

    该文pdf下载地址:三次握手.pdf

  4. spring boot Websocket(使用笔记)

    ​ 使用websocket有两种方式:1是使用sockjs,2是使用h5的标准.使用Html5标准自然更方便简单,所以记录的是配合h5的使用方法. 1.pom ​ 核心是@ServerEndpoint ...

  5. js 实现数据结构 -- 字典

    原文: 在Javascript 中学习数据结构与算法. 概念: 集合.字典.散列表都可以存储不重复的数据.字典和我们上面实现的集合很像. 当然,字典中的数据具有不重复的特性.js 中 Object 的 ...

  6. Oracle查询所有表的字段明细

    SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序号, USER_TA ...

  7. gogs git代码管理

    Gogs 是一个基于 Go语言的开源的 Git 服务端.非常轻量,安装也很简单.官网https://gogs.io/docs/installation/install_from_binary 下载后解 ...

  8. <TCP/IP原理> (二) OSI模型和TCP/IP协议族

    1.OSI参考模型 1)作用 2)各层的名称和功能 2.对分层网络协议体系的理解 1)不同节点:层次组成不同,作用不同 2)横向理解:虚通信.对等实体.协议.PDU 3)纵向理解:封装与解封.服务.接 ...

  9. 数论ex

    数论ex 数学学得太差了补补知识点or复习 Miller-Rabin 和 Pollard Rho Miller-Rabin 前置知识: 费马小定理 \[ a^{p-1}\equiv 1\pmod p, ...

  10. Django 中的static文件的设置

    STATIC_URL = '/static/' STATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ('article',os.path.jo ...