2023-07-21 18:52:07 +08:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# 定义ANSI颜色转义码
|
2023-07-24 14:00:29 +08:00
|
|
|
|
RED='\033[0;31m' #红色
|
|
|
|
|
|
GREEN='\033[0;32m' #绿色
|
|
|
|
|
|
YELLOW='\033[0;33m' #黄色
|
2023-07-21 18:52:07 +08:00
|
|
|
|
NC='\033[0m' # 恢复默认颜色
|
|
|
|
|
|
|
|
|
|
|
|
# 定义函数,用于展示菜单选项
|
|
|
|
|
|
show_menu() {
|
2023-07-24 14:00:29 +08:00
|
|
|
|
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}"
|
2023-07-21 18:52:07 +08:00
|
|
|
|
echo -e "0. ${RED}退出${NC}"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# 定义函数,用于处理用户输入
|
|
|
|
|
|
handle_input() {
|
|
|
|
|
|
read -p "请输入选项编号: " choice
|
|
|
|
|
|
case $choice in
|
|
|
|
|
|
1)
|
|
|
|
|
|
# 在这里编写选项一的代码
|
2023-07-24 14:00:29 +08:00
|
|
|
|
game
|
2023-07-21 18:52:07 +08:00
|
|
|
|
;;
|
|
|
|
|
|
2)
|
2023-07-24 14:00:29 +08:00
|
|
|
|
echo -e "${YELLOW}开始更新gm服${NC}"
|
2023-07-21 18:52:07 +08:00
|
|
|
|
# 在这里编写选项二的代码
|
2023-07-24 14:00:29 +08:00
|
|
|
|
gm
|
2023-07-21 18:52:07 +08:00
|
|
|
|
;;
|
|
|
|
|
|
3)
|
2023-07-24 14:00:29 +08:00
|
|
|
|
echo -e "${YELLOW}开始更新登陆服${NC}"
|
2023-07-21 18:52:07 +08:00
|
|
|
|
# 在这里编写选项三的代码
|
2023-07-24 14:00:29 +08:00
|
|
|
|
login
|
|
|
|
|
|
;;
|
|
|
|
|
|
4)
|
|
|
|
|
|
echo -e "${YELLOW}开始更新支付服${NC}"
|
|
|
|
|
|
# 在这里编写选项四的代码
|
|
|
|
|
|
pay
|
|
|
|
|
|
;;
|
|
|
|
|
|
5)
|
|
|
|
|
|
echo -e "${YELLOW}开始更新敏感词服${NC}"
|
|
|
|
|
|
# 在这里编写选项五的代码
|
|
|
|
|
|
mingan
|
2023-07-21 18:52:07 +08:00
|
|
|
|
;;
|
|
|
|
|
|
0)
|
|
|
|
|
|
echo -e "${RED}谢谢使用,再见!${NC}"
|
|
|
|
|
|
exit 0
|
|
|
|
|
|
;;
|
|
|
|
|
|
*)
|
|
|
|
|
|
echo -e "${RED}无效的选项,请重新输入${NC}"
|
|
|
|
|
|
handle_input
|
|
|
|
|
|
;;
|
|
|
|
|
|
esac
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-07-24 14:00:29 +08:00
|
|
|
|
#游戏服更新
|
|
|
|
|
|
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"
|
2023-07-24 14:11:21 +08:00
|
|
|
|
bash update_game.sh $project $package
|
2023-07-24 14:00:29 +08:00
|
|
|
|
game
|
|
|
|
|
|
;;
|
|
|
|
|
|
2)
|
|
|
|
|
|
echo -e "${YELLOW}单独发送${NC}"
|
|
|
|
|
|
read -p "请输入包名(不需要带文件后缀): " package
|
|
|
|
|
|
read -p "请输入游戏服ip: " ip
|
|
|
|
|
|
echo -e "开始发送 包名:$package, ip:$ip"
|
2023-07-24 16:04:32 +08:00
|
|
|
|
send_one_ip $package $ip
|
2023-07-24 14:00:29 +08:00
|
|
|
|
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}"
|
2023-07-24 14:06:36 +08:00
|
|
|
|
ls -l ./txt/
|
2023-07-24 14:00:29 +08:00
|
|
|
|
game
|
|
|
|
|
|
;;
|
|
|
|
|
|
5)
|
|
|
|
|
|
echo -e "${YELLOW}查看渠道文件名称${NC}"
|
2023-07-24 14:06:36 +08:00
|
|
|
|
ls -l ../project/
|
2023-07-24 14:00:29 +08:00
|
|
|
|
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
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2023-07-21 18:52:07 +08:00
|
|
|
|
# 主循环,展示菜单并处理用户输入
|
|
|
|
|
|
while true; do
|
|
|
|
|
|
show_menu
|
|
|
|
|
|
handle_input
|
|
|
|
|
|
done
|