类别:原创 服务器

本文mysql已安装好并运行正常,mysql的用户名为 root 密码为rootroot

[root@jedy ~]#
[root@jedy ~]# mkdir /script
[root@jedy ~]#  vim  /script/ip_range.sh                                            \\ 创建脚本

#!/bin/sh
 
TIME=`date +"%Y-%m-%d %H:%M:%S"`
DIR=/script/ip_range
rm -rf $DIR
mkdir $DIR
touch ${DIR}/ip_apnic
FILE=${DIR}/ip_apnic
 
HOSTNAME="127.0.0.1"
PORT="3306"
USERNAME="root"
PASSWORD="rootroot"
 
DBNAME="ip_range_db"
TABLENAME="ip_range_table"
 
#创建数据库
#create_db_sql="create database  ${DBNAME}"
#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"
 
#删除表
#delete_sql="drop tables ${TABLENAME}"
#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"
 
#创建表
#create_table_sql="create table  ${TABLE} IF NOT EXISTS ${TABLENAME} (  city varchar(50), ip varchar(20),ip_range varchar(50), uptime varchar(20) defau
lt 0 )"

\\注意逗号(,),千万不能少

#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${create_table_sql}"
 
#删除数据
delete_sql="delete from ${TABLENAME}"
mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${delete_sql}"
 
#更新数据
#update_sql="update ${TABLENAME} set id=3"
#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${update_sql}"
#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
 
#查询
#select_sql="select * from ${TABLENAME}"
#mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}"
 
 
wget http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest -O $FILE
grep -E 'apnic|CN|ipv4|' $FILE | cut -f 4,5 -d'|'|sed -e 's/|/ /g' | while read ip cnt
do
echo $ip:$cnt
mask=$(cat <&lt; EOF | bc | tail -1
pow=32;
define log2(x) {
if (x&lt;=1) return (pow);
pow--;
return(log2(x/2));
}
log2($cnt)
EOF
)

\\ 这里要注意,)必须放在 EOF 的下一行,并且EOF前不能有任何字符,这一点 bash version3 无所谓,但是bash version4就会报错:warning: here-document at line 56 delimited by end-of-file (wanted `EOF')
#echo $ip/$mask>&gt; ${DIR}/cn.net
 
#IPNAME=`whois $ip@whois.apnic.net | grep netname | awk '{print $2}'`
 
whois $ip@whois.apnic.net | grep -E 'inetnum|netname' | paste -s -d"\t\n"| awk '{print $2$3$4,$6}' | while read ip_range IPNAME
do
echo "$IPNAME $ip/$mask $ip_range" &gt;&gt;  ${DIR}/$IPNAME
 
#cat cn.net |sed -e 's/\// /g' | while read ip mask
#do
#echo $ip/$mask
#IPNAME=`whois $ip@whois.apnic.net | grep netname | awk '{print $2}'`
#echo "$IPNAME $ip/$mask" &gt;&gt;  apnic/$IPNAME
#done
 
#插入数据
insert_sql="insert into ${TABLENAME} (city,ip,ip_range,uptime) values('$IPNAME','$ip/$mask','$ip_range','$TIME')"
mysql -h${HOSTNAME}  -P${PORT}  -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${insert_sql}"
 
done
done

[root@jedy ~]# mysql -uroot -prootroot -e "create database ip_range_db"                                           \\ 创建数据库和表
[root@jedy ~]# mysql -uroot -prootroot ip_range_db -e "create table ip_range_table ( city varchar(50), ip varchar(20),ip_range varchar(50), uptime varchar(20))"    \\注意逗号(,),千万不能少
[root@jedy ~]# chmod 700 /script/ip_range.sh
[root@jedy ~]# /script/ip_range.sh                                                                 \\  运行脚本,查看mysql的内容
[root@jedy ~]# crontab –e

* * * * 0 /script/ip_range.sh                                                                                  \\ 加入自动化任务
[root@jedy ~]#
[root@jedy ~]#
[root@jedy ~]#
[root@jedy ~]#
[root@jedy ~]#

转载于:https://blog.51cto.com/jedy82/865820

自动将中国ip地址归属地分类并保存到数据库中相关推荐

  1. IP地址归属地在线查询平台

    一.项目介绍 1.背景 根据IP得到位置,加标签 进行大数据分析,比如淘宝推荐等提供优质数据 www.ip.cn 等 查询IP 2.需求 IP 分析 归属地信息 , 查找在毫秒内完成 IP地址库,公网 ...

  2. 分享2020 几个好用的ip地址归属地查询

    ip地址归属地查询接口 一.百度 大公司,不必说,肯定好用,我就一直用的他作为主要查询接口. url:http://opendata.baidu.com/api.php params:query=ip ...

  3. python怎么查找代码位置查询_Python查询IP地址归属完整代码

    本文实例为大家分享了Python查询IP地址归属的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 ...

  4. 实现调用阿里云API第二章——API调用实战(全球IP地址归属地查询)

    本篇将实现利用springboot实现阿里云API调用实战. 一.购买阿里云API https://market.aliyun.com/data?spm=5176.9502607.1387859.3. ...

  5. 最新 全球 ip地址 归属地 字典表 (202108)

    最新 全球 ip地址 归属地 字典表 (202108) 由于ip地址内容太大,上传不到该平台上来,我只好将文件放到 百度网盘上, 0.0.0.0|0.255.255.255|0|0|0|内网IP|内网 ...

  6. python查询ip归属地_基于Python的免费IP地址归属地查询

    一.开通接口 IP地址归属地查询服务使用聚合数据提供的免费接口,每天可以100次免费调用.可以通过 https://www.juhe.cn/docs/api/id/1 注册及开通. 二.请求接口 #! ...

  7. IP地址 归属地查询

    目标 通过开发IP地址归属地查询平台,我们需要对JavaSE综合技术有所提升,增强实战能力.学习完该项目我们应该具备如下能力: 1 面向对象程序设计 2 工具类封装与使用写法 3 文件IO流 4 字符 ...

  8. windows7 bat自动批处理改变IP地址、DNS和代理设置

    windows7  bat自动批处理改变IP地址.DNS和代理设置 改变IP地址设置: @echo off netsh interface ipv4 set address "无线网络连接& ...

  9. A、B、C三类IP地址的最大网络数和每个网络中的最大主机数

    A.B.C三类IP地址的最大网络数和每个网络中的最大主机数,为便于查找,总结如下: IP地址由两部分组成:网络号net-id 与 主机号host-id. 一.A类IP的最大网络数和每个网络中的最大主机 ...

  10. IP地址使用,分类等详解

    目录 一.IP地址和MAC地址 二.IP地址的分类 三.保留的特殊IP地址 四.公网和私网IP地址 一.IP地址和MAC地址 1.MAC地址 MAC(Media Access Control,介质访问 ...

最新文章

  1. OpenCV之imwrite()等基本操作
  2. C#lock语句用法(lock到底有什么用?)
  3. Image-to-Image Translation with conditional Adversarial Networks ---- Pix-2-Pix
  4. dnslog盲注原理
  5. .NET反射、委托技术与设计模式
  6. 前端学习(3344):设计模式之工厂模式1
  7. 前端学习(2585):前端怎么在响应头和请求头里面拿数据?
  8. python 默认参数_有趣的 Python 特性 3 | 当心默认可变参数这个大猪蹄子。
  9. pytorch学习2:pytorch搭建Alexnet网络
  10. Matlab--三种归一化方法
  11. OTcl与C++,NS2是如何识别并调用执行协议的 转自百思论坛
  12. 三菱gxworks3安装失败_GX Works3|GX Works3(三菱PLC编程软件)下载官方中文版 附序列号 - 欧普软件下载...
  13. RDP Wrapper
  14. 【机器学习概率统计】18 隐马尔科夫模型:明暗两条线
  15. Android CTS测试
  16. CSV文件如何使用EXCEL打开
  17. vue 获取元素宽高
  18. 17964 水桶打水
  19. 解决ublox无法定位问题(一直输出$GxTXT)
  20. 【学习笔记】IGMP snooping原理

热门文章

  1. IntelliJ IDEA使用技巧(五)——页面乱码和控制台乱码
  2. Java开发笔记(一百四十一)JavaFX的列表与表格
  3. 如何使用jquery ,浏览器窗口滚动到一定距离,显示div中的内容
  4. 【Codeforces Round #422 (Div. 2) C】Hacker, pack your bags!(hash写法)
  5. WeChat 隐私政策
  6. javascript string对象方法总结
  7. oracle主要的动态视图与基表的对应关系
  8. [TWRP 2.8.4 ] 小米 3W 中文-英文版本 twrp
  9. ubuntu 卸载NetworkManager
  10. 使用java.text包格式化数字和日期