总脚本提交
parent
fa4fb723dc
commit
38c7c9496a
266
update.sh
266
update.sh
|
|
@ -1,17 +1,20 @@
|
|||
#!/bin/bash
|
||||
|
||||
# 定义ANSI颜色转义码
|
||||
RED='\033[0;31m'
|
||||
GREEN='\033[0;32m'
|
||||
YELLOW='\033[0;33m'
|
||||
RED='\033[0;31m' #红色
|
||||
GREEN='\033[0;32m' #绿色
|
||||
YELLOW='\033[0;33m' #黄色
|
||||
NC='\033[0m' # 恢复默认颜色
|
||||
|
||||
# 定义函数,用于展示菜单选项
|
||||
show_menu() {
|
||||
echo -e "欢迎使用${GREEN}交互式Shell脚本模板${NC}"
|
||||
echo -e "1. ${YELLOW}选项一${NC}"
|
||||
echo -e "2. ${YELLOW}选项二${NC}"
|
||||
echo -e "3. ${YELLOW}选项三${NC}"
|
||||
echo -e "================================"
|
||||
echo -e "欢迎使用${GREEN}戒灵更新脚本${NC}"
|
||||
echo -e "1. ${YELLOW}游戏服更新${NC}"
|
||||
echo -e "2. ${YELLOW}gm更新${NC}"
|
||||
echo -e "3. ${YELLOW}登陆服更新${NC}"
|
||||
echo -e "4. ${YELLOW}支付服更新${NC}"
|
||||
echo -e "5. ${YELLOW}敏感词服更新${NC}"
|
||||
echo -e "0. ${RED}退出${NC}"
|
||||
}
|
||||
|
||||
|
|
@ -20,16 +23,28 @@ handle_input() {
|
|||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}您选择了选项一${NC}"
|
||||
# 在这里编写选项一的代码
|
||||
game
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}您选择了选项二${NC}"
|
||||
echo -e "${YELLOW}开始更新gm服${NC}"
|
||||
# 在这里编写选项二的代码
|
||||
gm
|
||||
;;
|
||||
3)
|
||||
echo -e "${YELLOW}您选择了选项三${NC}"
|
||||
echo -e "${YELLOW}开始更新登陆服${NC}"
|
||||
# 在这里编写选项三的代码
|
||||
login
|
||||
;;
|
||||
4)
|
||||
echo -e "${YELLOW}开始更新支付服${NC}"
|
||||
# 在这里编写选项四的代码
|
||||
pay
|
||||
;;
|
||||
5)
|
||||
echo -e "${YELLOW}开始更新敏感词服${NC}"
|
||||
# 在这里编写选项五的代码
|
||||
mingan
|
||||
;;
|
||||
0)
|
||||
echo -e "${RED}谢谢使用,再见!${NC}"
|
||||
|
|
@ -42,6 +57,237 @@ handle_input() {
|
|||
esac
|
||||
}
|
||||
|
||||
#游戏服更新
|
||||
game(){
|
||||
echo -e "================================"
|
||||
echo -e "开始更新${GREEN}游戏服${NC}"
|
||||
echo -e "1. ${YELLOW}打包${NC}"
|
||||
echo -e "2. ${YELLOW}单服更新发送${NC}"
|
||||
echo -e "3. ${YELLOW}渠道更新发送${NC}"
|
||||
echo -e "4. ${YELLOW}查看所有项目名称${NC}"
|
||||
echo -e "5. ${YELLOW}查看渠道文件名称${NC}"
|
||||
echo -e "0. ${GREEN}返回主菜单${NC}"
|
||||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}打包${NC}"
|
||||
read -p "请输入项目地址: " project
|
||||
read -p "请输入包名(不需要带文件后缀): " package
|
||||
echo -e "开始打包 项目:$project, 包名:$package"
|
||||
bashh update_game.sh $project $package
|
||||
game
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}单独发送${NC}"
|
||||
read -p "请输入包名(不需要带文件后缀): " package
|
||||
read -p "请输入游戏服ip: " ip
|
||||
echo -e "开始发送 包名:$package, ip:$ip"
|
||||
send_one_ip $project $package
|
||||
game
|
||||
;;
|
||||
3)
|
||||
echo -e "${YELLOW}渠道发送${NC}"
|
||||
read -p "请输入包名(不需要带文件后缀): " package
|
||||
read -p "请输入文件名称(不需要带文件后缀): " iptxt
|
||||
echo -e "开始发送 包名:$package, 渠道:$iptxt"
|
||||
send_many_ip $package $iptxt
|
||||
game
|
||||
;;
|
||||
4)
|
||||
echo -e "${YELLOW}查看所有项目名称${NC}"
|
||||
ll ./txt/
|
||||
game
|
||||
;;
|
||||
5)
|
||||
echo -e "${YELLOW}查看渠道文件名称${NC}"
|
||||
ll ../project/
|
||||
game
|
||||
;;
|
||||
0)
|
||||
show_menu
|
||||
handle_input
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效的选项,请重新输入${NC}"
|
||||
game
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# 源服务器上的tar压缩包路径
|
||||
source_tar="/data/update/package/"
|
||||
# 目标服务器上的目标目录路径
|
||||
destination_dir="/data/"
|
||||
#单服发送
|
||||
send_one_ip(){
|
||||
package=${1}.tar.gz
|
||||
ip=${2}
|
||||
# 单服务器更新
|
||||
echo "正在处理服务器 $ip "
|
||||
scp "$source_tar/$package" "$ip:$destination_dir"
|
||||
ssh "$ip" "tar -zxvf $destination_dir/$package -C $destination_dir/jieling/server/"
|
||||
ssh "$ip" "rm -rf $destination_dir/$package"
|
||||
echo "处理完成服务器 $ip "
|
||||
}
|
||||
#多服发送
|
||||
send_many_ip(){
|
||||
package=${1}.tar.gz
|
||||
iptxt=${2}.txt
|
||||
for i in `awk '{print $2}' /data/update/script/$iptxt`
|
||||
do
|
||||
echo "正在处理服务器 $i "
|
||||
scp "$source_tar/$package" "$i:$destination_dir"
|
||||
ssh "$i" "tar -zxvf $destination_dir/$package -C $destination_dir/jieling/server/"
|
||||
ssh "$i" "rm -rf $destination_dir/$package"
|
||||
echo "处理完成服务器 $i "
|
||||
done
|
||||
}
|
||||
|
||||
#gm更新
|
||||
gm(){
|
||||
echo -e "================================"
|
||||
echo -e "开始更新${GREEN}gm服${NC}"
|
||||
echo -e "1. ${YELLOW}单渠道更新${NC}"
|
||||
echo -e "2. ${YELLOW}多渠道更新${NC}"
|
||||
echo -e "3. ${YELLOW}查看所有渠道${NC}"
|
||||
echo -e "0. ${GREEN}返回主菜单${NC}"
|
||||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}单渠道更新${NC}"
|
||||
read -p "请输入项目地址: " project
|
||||
read -p "请输入gm服ip: " ip
|
||||
echo -e "开始更新gm ip:$ip"
|
||||
bash update_gm.sh $project $ip
|
||||
gm
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}多渠道更新${NC}"
|
||||
read -p "请输入项目地址: " project
|
||||
echo -e "开始更新gm"
|
||||
bash update_gm.sh $project
|
||||
gm
|
||||
;;
|
||||
3)
|
||||
echo -e "${YELLOW}查看所有项目名称${NC}"
|
||||
cat txt/gm_ip.txt
|
||||
gm
|
||||
;;
|
||||
0)
|
||||
show_menu
|
||||
handle_input
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效的选项,请重新输入${NC}"
|
||||
gm
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#登陆 ssh $i "sh /data/jieling/gm/gm_restart.sh"
|
||||
login(){
|
||||
echo -e "================================"
|
||||
echo -e "开始更新${GREEN}登陆服${NC}"
|
||||
echo -e "1. ${YELLOW}更新登陆服代码${NC}"
|
||||
echo -e "2. ${YELLOW}重启登陆服${NC}"
|
||||
echo -e "0. ${GREEN}返回主菜单${NC}"
|
||||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}登陆服更新${NC}"
|
||||
read -p "请输入登陆服ip: " ip
|
||||
echo -e "开始更新登陆服 ip:$ip"
|
||||
bash update_login.sh $ip
|
||||
login
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}登陆服重启${NC}"
|
||||
read -p "请输入登陆服ip: " ip
|
||||
echo -e "开始重启登陆服 ip:$ip"
|
||||
ssh $ip "bash /usr/local/apache-tomcat-7.0.79/bin/shutdown.sh"
|
||||
sleep 3
|
||||
ssh $ip "bash /usr/local/apache-tomcat-7.0.79/bin/startup.sh"
|
||||
login
|
||||
;;
|
||||
0)
|
||||
show_menu
|
||||
handle_input
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效的选项,请重新输入${NC}"
|
||||
login
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#支付
|
||||
pay(){
|
||||
echo -e "================================"
|
||||
echo -e "开始更新${GREEN}支付服${NC}"
|
||||
echo -e "1. ${YELLOW}更新支付服代码${NC}"
|
||||
echo -e "1. ${YELLOW}重启支付服${NC}"
|
||||
echo -e "0. ${GREEN}返回主菜单${NC}"
|
||||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}支付服更新${NC}"
|
||||
read -p "请输入支付服ip: " ip
|
||||
echo -e "开始更新支付服 ip:$ip"
|
||||
bash update_delivery.sh $ip
|
||||
pay
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}支付服重启${NC}"
|
||||
read -p "请输入支付服ip: " ip
|
||||
echo -e "开始重启支付服 ip:$ip"
|
||||
ssh $ip "bash /data/jieling/delivery-server/pay_restart.sh"
|
||||
login
|
||||
;;
|
||||
0)
|
||||
show_menu
|
||||
handle_input
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效的选项,请重新输入${NC}"
|
||||
pay
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
#敏感词
|
||||
mingan(){
|
||||
echo -e "================================"
|
||||
echo -e "开始更新${GREEN}敏感词服${NC}"
|
||||
echo -e "1. ${YELLOW}更新敏感词服代码${NC}"
|
||||
echo -e "2. ${YELLOW}重启敏感词服${NC}"
|
||||
echo -e "0. ${GREEN}返回主菜单${NC}"
|
||||
read -p "请输入选项编号: " choice
|
||||
case $choice in
|
||||
1)
|
||||
echo -e "${YELLOW}敏感词服更新${NC}"
|
||||
read -p "请输入敏感词服ip: " ip
|
||||
echo -e "开始更新敏感词服 ip:$ip"
|
||||
bash update_sensitive.sh $ip
|
||||
mingan
|
||||
;;
|
||||
2)
|
||||
echo -e "${YELLOW}敏感词服重启${NC}"
|
||||
read -p "请输入敏感词服ip: " ip
|
||||
echo -e "开始重启敏感词服 ip:$ip"
|
||||
ssh $ip "bash /data/jieling/sensitiveWordFilter/bin/mingan_reboot.sh"
|
||||
login
|
||||
;;
|
||||
0)
|
||||
show_menu
|
||||
handle_input
|
||||
;;
|
||||
*)
|
||||
echo -e "${RED}无效的选项,请重新输入${NC}"
|
||||
mingan
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# 主循环,展示菜单并处理用户输入
|
||||
while true; do
|
||||
show_menu
|
||||
|
|
|
|||
Loading…
Reference in New Issue