shell test脚本
1、lvs添加删除real_server节点
# cat lvs_add_remove_node.sh
#!/bin/bash
file=/etc/keepalived/keepalived.conf
Ip=(10.14.4.104 10.14.4.120)
Port=(9001 9002 9003 443 7443)
#从keepalived.conf里注释配置以达到去掉负载的目的
function add_mark ( ) {
for i in `grep -v -n "^$" $file | grep -A8 "real_server $ip $port"|cut -c 1-3`
do
k=`sed -n "$i"p $file`
cmd="sed -i '${i}s/${k}/#&/' $file"
eval $cmd
done
}
#取消keealived.conf里注释以达到添加一个负载的目的
function remove_mark () {
for i in `grep -v -n "^$" $file | grep -A8 "real_server $ip $port"|cut -c 1-3`
do
k=`sed -n "$i"p $file`
cmd="sed -i '${i}s/\(#\|# \)/ /' $file"
eval $cmd
done
}
#重启keepalived服务
function restart_keepalived () {
/etc/init.d/keepalived restart
}
case $1 in
m_add)
ip=${Ip[0]}
for port in ${Port[2]} ${Port[3]}
do
add_mark
done
restart_keepalived
;;
web_add)
ip=${Ip[1]}
for port in ${Port[1]} ${Port[4]}
do
add_mark
done
restart_keepalived
;;
api_add)
ip=${Ip[0]}
port=${Port[0]}
add_mark
restart_keepalived
;;
m_remove)
ip=${Ip[0]}
for port in ${Port[2]} ${Port[3]}
do
remove_mark
done
restart_keepalived
;;
web_remove)
ip=${Ip[1]}
for port in ${Port[1]} ${Port[4]}
do
remove_mark
done
restart_keepalived
;;
api_remove)
ip=${Ip[0]}
port=${Port[0]}
remove_mark
restart_keepalived
;;
*)
echo "请输入 m_add |web_add |api_add | m_remove |web_remove |api_remove 等参数!"
;;
esac

浙公网安备 33010602011771号