Linux下自动更新hosts文件地址脚本

最近,某一套系统联系外部微信api的接口很不稳定,频繁的报警:”java.net.UnknownHostException: file.api.weixin.qq.com”。基于这个原因,开始琢磨解决方案 一种情况是偶尔发生的,可能由于网络DNS压力过大,导致的。这个不是我能管理的范围不解释。 另外一种情况可以直接将api地址写入hosts文件当中,不过这样就会存在一个hosts文件失效的问题。如何解决这个问题?于是乎就有了如下脚本

脚本


#!/bin/bash url=shengbao.org ping -c 1 www.baidu.com >/dev/null && echo ok > /dev/null ||exit 0 iplist=`nslookup $url|grep “Address”|grep -v “#53″|awk -F ‘Address:’ ‘{print $2}’` hostlista=`grep “$url” /etc/hosts|awk -F ‘ ‘ ‘{print $1}’` for iplista in $iplist;do if [[ -z $hostlista ]];then echo “$iplista $url” >> /etc/hosts else echo ${hostlista[@]}|grep -w “$iplista” > /dev/null && echo “yes” > /dev/null || echo “$iplista $url” >> /etc/hosts fi done for hostlistaa in $hostlista;do if [[ ! `echo ${iplist[@]}|grep -w “$hostlistaa”` ]];then dellist=`grep “$hostlistaa” /etc/hosts` sed -i “s/$dellist/ /p” /etc/hosts fi done

计划任务


crontab 在这里不写了,各位自编。水平有限,仅供参考。

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
免责声明: IT学馆所发布的一切资源及文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。admin@itxueguan.com
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论