如果正常我们在后台切换机房的时候,如果这个机房当前没有空余机器,比如我们在切换至 DC8 CN2 的时候会出现 Region is full. Please try again in a few hours 的问题,因为目前DC8一直是缺货的。不过看到有网友提到可以使用脚本利用搬瓦工API进行自动搜索切换,其实也就是利用脚本不断的请求,如果这个时候有人切换或者删除、到期DC8的时候可以直接可以快速插队。
通过这样的原理就可以比自己手工切换机房快速和自动很多,而且成功率高。在这篇文章中将分享这个脚本以及解决办法。
第一、准备API
这里进入当前搬瓦工VPS主机KIWIVM后台,然后在左侧看到API的菜单。在右侧我们可以看到Your VEID和Your API KEY,对于API KEY需要点击上面的按钮获取。这样我们可以得到两个参数。
第二、修改脚本编辑
脚本地址:https://www.52banwagong.com/shells/dc8.sh
我们可以下载这个脚本。
1、CentOS
yum -y install wget vim screen && wget --no-check-certificate https://www.52banwagong.com/shells/dc8.sh
2、Debian/Ubuntu
apt-get install -y wget screen && wget --no-check-certificate https://www.52banwagong.com/shells/dc8.sh
然后编辑脚本:
这里将我们获得的API两个参数信息填写进来。
第三、运行脚本
chmod +x dc8.sh
screen -S dc8
./dc8.sh
运行脚本。
如果我们出现"{"error":734104,"message":"Region is full. Please try again in a few hours."}",说明当前DC8没有机器,我们可以使用下面脚本自动挂载等待没有任何报错。
nohup ./dc8.sh &
这样会一直执行,等待迁移完毕会重新启动服务器,以及会发邮件给我们的。迁移完毕之后,脚本也就不会在运行。
第四、附上所有的脚本
#!/bin/bash
B=USCA_8
##### 请先填写下面信息再运行脚本 #####
VEID= ## 请到搬瓦工后台 API 里找到 VEID 并在此填写,注意直接写在等号后面,不要空格
API_KEY= ## 请到搬瓦工后台 API 里找到 API_KEY 并在此填写,注意直接写在等号后面,不要空格##### 请先填写上面信息再运行脚本 #####
info() {
A=(`wget -qO- "https://api.64clouds.com/v1/migrate/getLocations?&veid=${VEID}&api_key=${API_KEY}" | cut -d":" -f3 | cut -d"," -f1 | sed 's/\"//g'`)
}info
while [[ $A != $B ]]
do
wget -qO- "https://api.64clouds.com/v1/migrate/start?location=${B}&veid=${VEID}&api_key=${API_KEY}"
sleep 10s
info
done
这里贴上所有脚本,我们可以可以直接复制后修改自己定义名称。
原载于:https://www.52banwagong.com/523.html
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。