go环境+ip本地库统计ip归属地
一、服务器环境介绍:
dell服务器PowerEdge R420
系统是最小化安装
由于我的系统是CentOS6.9 x89_64位的,所以下载安装64位的go tar包
二、安装go环境:
参考文档:
https://www.cnblogs.com/1111zhiping-tian/p/8086736.html
安装过程:
go环境变量设置:
[root@git-server ~]# cat ~/.bashrc
source ~/.bashrc
到此go环境安装成功
二、下载开源的本地ip库文件以及查询ip归属地:
以下的操作过程要严格按照以下的顺序执行
[root@git-server ipip-master]# pwd
/root/ipip-master
main.go文件脚本内容:
在数据文件路径下执行如下命令:
下载datIP本地库文件库:
上传存放IP的文件文件,要求每行一个单独的ip地址,上传一个存放1000多万的唯一的ip地址文件
然后查询IP归属地址
执行一下命令:
到此处已经完成
小插曲:
最开始业务需求是这样的:部门领导让我统计业务机器一天日志中所有访问ip的数量,而且要求是查询出来IP的归属地,并且对ip的归属地进行大陆和国外以及港澳台的占比计算。一开始我先写shell脚本批量获取所有业务机器上的日志中的ip,并且排序去重后,发现ip量有1000多万条。后面我有采用shell脚本来一个ip一个ip的来查询,本以为很快地,结果shell脚本执行了24小时了,结果才获取到不到10万个不通ip的归属地。这时,我犯怵了,这样下去,这查到什么时候。网上各种找资料,请教社区网友,而然一个论坛网友凯强回复了我,而且提供了我方法,在此非常的感谢他。写此博文,希望能帮助更多的遇到类似问题的朋友们。