作者:邓聪聪

  利用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. [Cordova inAppBrowser 在App内打开浏览器]

    方案1: 使用Cordova插件 cordova-plugin-inappbrowser 1.  添加插件 cordova plugin add cordova-plugin-inappbrowser ...

  2. 搭建一个简单的本地的dubbo-demo案例

    一.创建一个Maven工程,然后创建三个module模块 二.dubbo-api(maven模块) 创建一个api类,命名为ApiService.java package com.example.se ...

  3. React笔记:组件(3)

    1. 组件定义 组件是React的核心概念,组件将应用的UI拆分成独立的.可复用的模块. 定义组件的两种方式: (1)类组件:使用ES6 class (2)函数组件:使用函数 使用class定义组件的 ...

  4. idea安装成功后,设置字体、快捷键、配置jdk等操作

    设置字体 配置jdk 快捷键 复制当前一行: 设置自动提示,不区分大小写 关闭当前窗口 设置类头注释 自定义注释+注释快捷键 Lombok 插件安装  get.set方法报红cannot resolv ...

  5. 基于Redis实现分布式锁

    分布式锁具有的特性: 1.排他性: 文件系统: 数据库:主键 唯一约束 for update 性能较差,容易出现单点故障 锁没有失效时间,容易死锁 缓存Redis:setnx 实现复杂: 存在死锁(或 ...

  6. ionic3创建选项卡

    html页面 <ion-content padding> <ion-segment [(ngModel)]="tabs"> <ion-segment- ...

  7. Leetcode 4.28 Tree Easy

    1. 101. Symmetric Tree 用递归. class Solution { public boolean isSymmetric(TreeNode root) { if( root == ...

  8. 我的小OJ

    NCOJ 欢迎大家来瓷瓷.出题哦QwQ 嗯,没了.

  9. python学习day21 面向对象(三)嵌套/特殊方法

    1.嵌套 类/方法/对象都可以当做变量或嵌套到其他类型中. 函数的参数可以是任意类型. 可哈希(不可变)数据类型可以做字典的key. 类和对象可以做字典的key. 2.特殊方法(8) __init__ ...

  10. 微信小程序之:wepy(二)

    一大堆实例:人家的博客园 代码规范: 1.尽量使用驼峰命名,避免使用$开头,框架内建属性都已$开头,可以使用this直接调用. 2.入口文件.页面.组件后缀都为.wpy. 3.使用ES6语法开发. 4 ...