From dc7177b69c90b5019063aa0b93466504becab56e Mon Sep 17 00:00:00 2001 From: "PC-202302260912\\Administrator" <1769111741@qq.com> Date: Tue, 25 Jul 2023 14:29:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.sh | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 8 deletions(-) diff --git a/main.sh b/main.sh index 359e91d..830d2b4 100644 --- a/main.sh +++ b/main.sh @@ -18,6 +18,11 @@ show_menu() { echo -e "0. ${RED}退出${NC}" } +show_filer(){ + filer=$1 + ls -l /data/update/$filer/ |awk '/^d/ {print $NF}' +} + # 定义函数,用于处理用户输入 handle_input() { read -p "请输入选项编号: " choice @@ -64,15 +69,17 @@ game(){ 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}" - ls -l ../project/ + show_filer project stty erase ^h read -p "请输入项目地址: " project - ls -l ../package/ + show_filer package stty erase ^h read -p "请输入包名(不需要带文件后缀): " package echo -e "开始打包 项目:$project, 包名:$package" @@ -81,7 +88,7 @@ game(){ ;; 2) echo -e "${YELLOW}单独发送${NC}" - ls -l ../package/ + show_filer package stty erase ^h read -p "请输入包名(不需要带文件后缀): " package stty erase ^h @@ -92,10 +99,34 @@ game(){ ;; 3) echo -e "${YELLOW}渠道发送${NC}" - ls -l ../package/ + show_filer package stty erase ^h read -p "请输入包名(不需要带文件后缀): " package - ls -l ./txt/ + show_filer script/txt + stty erase ^h + read -p "请输入文件名称(不需要带文件后缀): " iptxt + echo -e "开始发送 包名:$package, 渠道:$iptxt" + send_many_ip $package $iptxt + game + ;; + 4) + echo -e "${YELLOW}单独发送并重启${NC}" + show_filer package + stty erase ^h + read -p "请输入包名(不需要带文件后缀): " package + stty erase ^h + read -p "请输入游戏服ip: " ip + echo -e "开始发送 包名:$package, ip:$ip" + send_one_ip $package $ip + ssh $ip "bash /data/jieling/server/bin/reboot.sh core1" + game + ;; + 5) + echo -e "${YELLOW}渠道发送并重启${NC}" + show_filer package + stty erase ^h + read -p "请输入包名(不需要带文件后缀): " package + show_filer script/txt stty erase ^h read -p "请输入文件名称(不需要带文件后缀): " iptxt echo -e "开始发送 包名:$package, 渠道:$iptxt" @@ -132,6 +163,7 @@ send_one_ip(){ send_many_ip(){ package=${1}.tar.gz iptxt=${2}.txt + reboot=$3 for i in `awk '{print $2}' /data/update/script/txt/$iptxt` do echo "正在处理服务器 $i " @@ -139,6 +171,11 @@ send_many_ip(){ ssh "$i" "tar -zxvf $destination_dir/$package -C $destination_dir/jieling/server/" ssh "$i" "rm -rf $destination_dir/$package" echo "处理完成服务器 $i " + + if [ ! -z $reboot ];then + ssh "$i" "supervisorctl restart all" + echo "重启服务器 $i " + fi done } @@ -153,7 +190,7 @@ gm(){ case $choice in 1) echo -e "${YELLOW}单渠道更新${NC}" - ls -l ../project/ + show_filer project stty erase ^h read -p "请输入表所在游戏项目地址: " project stty erase ^h @@ -164,7 +201,7 @@ gm(){ ;; 2) echo -e "${YELLOW}多渠道更新${NC}" - ls -l ../project/ + show_filer project stty erase ^h read -p "请输入项目地址: " project echo -e "开始更新gm" @@ -205,6 +242,7 @@ login(){ 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" + ssh $ip "jps -m" login ;; 0) @@ -223,7 +261,7 @@ pay(){ echo -e "================================" echo -e "开始更新${GREEN}支付服${NC}" echo -e "1. ${YELLOW}更新支付服代码${NC}" - echo -e "1. ${YELLOW}重启支付服${NC}" + echo -e "2. ${YELLOW}重启支付服${NC}" echo -e "0. ${GREEN}返回主菜单${NC}" read -p "请输入选项编号: " choice case $choice in @@ -239,6 +277,7 @@ pay(){ read -p "请输入支付服ip: " ip echo -e "开始重启支付服 ip:$ip" ssh $ip "bash /data/jieling/delivery-server/pay_restart.sh" + ssh $ip "jps -m" login ;; 0) @@ -273,6 +312,7 @@ mingan(){ read -p "请输入敏感词服ip: " ip echo -e "开始重启敏感词服 ip:$ip" ssh $ip "bash /data/jieling/sensitiveWordFilter/bin/mingan_reboot.sh" + ssh $ip "jps -m" login ;; 0)