#! /usr/bin/env bash
read -p "Enter env:" env_name
war_name=pisa-cn-qcloud.war
app_name=pisaCnWeb
deploy=deployCnQcloud
if test "$env_name" = "qa"
then
war_name=pisa-cn-qcloud-qa.war
app_name=pisaCnWebQa
deploy=deployCnQcloudQa
fi
echo step 1:$deploy!
sshpass -p littlewar ssh -o StrictHostKeyChecking=no root@10.130.161.48 \
"cd /root/.hudson/jobs/Pisa-Java-Master/workspace
/opt/local/gradle/bin/gradle $deploy
exit"
echo -e "\n"
rm -f /opt/local/pisa/pisa_cn_qcloud/$war_name
echo step 2:rm $war_name successfully!
echo -e "\n"
mv -f /opt/local/pisa/pisa_outer/$war_name /opt/local/pisa/pisa_cn_qcloud/$war_name
echo step 3:mv $war_name successfully!
echo -e "\n"
echo step 4:rsync
outIpList=`cat /opt/local/pisa/pisa_cn_qcloud/out-ip-file`
rsync_war() {
echo rsync: $1
rsync -auvzP /opt/local/pisa/pisa_cn_qcloud/$war_name pisa@$1::pisa --password-file=/opt/local/pisa/pisa_cn_qcloud/rsyncpwd
echo -e "\n"
return 0
}
for i in $outIpList
do
rsync_war $i
done
#! /usr/bin/env bash
read -p "Enter env:" env_name
war_name=pisa-cn-qcloud.war
app_name=pisaCnWeb
if test "$env_name" = "qa"
then
war_name=pisa-cn-qcloud-qa.war
app_name=pisaCnWebQa
fi
data_path=/data/pisa_file/$war_name
app_path=/data/dev_env/jetty/standalone/$app_name
web_config=/data/pisa_file/script/inner-ip-file
sshpass_path=/data/dev_env/sshpass
user_name=lishuai.feng
password=1234qwer!
echo step :start_jetty
innerIpList=`cat $web_config`
start_jetty() {
echo start_jetty: $1
$sshpass_path/sshpass -p $password ssh -o StrictHostKeyChecking=no $user_name@$1 \
"sudo rm -f $app_path/webapps/pisa-web.war
sudo mv $data_path $app_path/webapps/pisa-web.war
cd $app_path
sudo ./server.sh stop
sudo ./server.sh start
exit"
echo -e "\n"
return 0
}
for i in $innerIpList
do
start_jetty $i
done
#!/bin/sh
#nginx配置文件路径
NGINX_CONFIG_PATH=./nginx.conf
web_config=/data/pisa_file/script/inner-ip-file
UPDATE_USING="/tmp/update_using"
#判断nginx配置文件路径是否正确
if [ ! -f "$NGINX_CONFIG_PATH" ]; then
echo "nginx config file path is not exist......"
exit
fi
innerIpList=`cat $web_config`
for i in $innerIpList
do
ipList="$ipList|$i"
done
#获取所有需要在行首添加井号的行号
NEED_ADD_WELL_NUMBER=()
getAllNeedAddWellNumberLine() {
length=0
cat $NGINX_CONFIG_PATH | egrep -n "^ {0,}server {1,}(${ipList#*|})" > $UPDATE_USING
exec 9<&0 < $UPDATE_USING
cat $UPDATE_USING
while read LINE SERVER IP WEIGHT; do
NEED_ADD_WELL_NUMBER[$length]=`echo $LINE | sed "s/://g"`
length=`expr $length + 1`
done
exec 0<&9 9<&-
}
#获取所有需要删除行首井号的行号
NEED_DEL_WELL_NUMBER=()
getAllNeedDelWellNumberLine() {
length=0
cat $NGINX_CONFIG_PATH | egrep -n "^ {0,}#server {1,}(${ipList#*|})" > $UPDATE_USING
exec 9<&0 < $UPDATE_USING
while read LINE SERVER IP WEIGHT; do
NEED_DEL_WELL_NUMBER[$length]=`echo $LINE | sed "s/://g"`
length=`expr $length + 1`
done
exec 0<&9 9<&-
}
getAllNeedAddWellNumberLine
getAllNeedDelWellNumberLine
echo $NEED_ADD_WELL_NUMBER
echo "nginx config file path:" $NGINX_CONFIG_PATH
#在指定行前面加上井号
for line in ${NEED_ADD_WELL_NUMBER[@]}; do
echo "start add well number before line:" ${line}
sed -i "${line}s/^[ \t]*//; ${line}s/^/ #/" $NGINX_CONFIG_PATH
done
#删除指定行前面的井号
for line in ${NEED_DEL_WELL_NUMBER[@]}; do
echo "start delete well number before line:" ${line}
sed -i "${line}s/^[ \t]*//; ${line}s/^#/ /" $NGINX_CONFIG_PATH
done
echo "nginx config modify success! now can reload nginx......"
#reload nginx
#/data/dev_env/nginx/sbin/nginx -s reload