• 网站新版上线,欢迎吐槽

shell脚本更新或者添加hosts sed 命令使用

网站技术 admin 852次浏览 0个评论 扫描二维码

shell脚本更新或者添加host

说下背景,公司电商网站,一个域名下面有多台服务器,通过F5分发,每次上线之后批量推代码到各台服务器,然后重启服务,为了检查每台机器的状态,需要每次单独绑定hosts对服务器进行访问,检查服务可用性,这样既浪费时间,又不能在第一时间找出问题服务器,所以写了简单脚本进行服务校验。

 
脚本可以根据传入的参数进行对 /etc/hosts 更改或者添加host
 
例如执行
sudo ./changeHost.sh blog.duplicatedcode.com 192.168.1.222

 
域名是固定的,外网ip不断变化


 
# !/bin/sh
###################
#@in_url 输入的url
#@in_ip 输入的ip
##########################
in_url=${1}
in_ip=${2}
 
#更改host
updateHost()
{
# read
  inner_host=`cat /etc/hosts | grep ${in_url} | awk '{print $1}'`
  if [ ${inner_host} = ${in_ip} ];then
     echo "${inner_host}  ${in_url} ok"
  else
    #替换
     sed -i "s#${inner_host}#${in_ip}#g" /etc/hosts
     if [ $? = 0 ];then
       echo "change ${inner_host} to ${in_ip} ok"
       else
         inner_ip_map="${in_ip} ${in_url}"
         echo ${inner_ip_map} >> /etc/hosts
         if [ $? = 0 ]; then
           echo "${inner_ip_map} to hosts success host is `cat /etc/hosts`"
         fi
     fi
  fi
}
 
main()
{
   updateHost
}
main


营销课堂 , 版权所有丨本网站采用BY-NC-SA协议进行授权 , 转载请注明shell脚本更新或者添加hosts sed 命令使用
喜欢 (1)or分享 (0)
admin
关于作者:
营销课堂,让营销更简单!

您必须 登录 才能发表评论!