输入对应安装包版本号自动升级脚本

脚本大致如下

###made by h###
if [ -z "$readversion" ]; then       
	echo ---------------------------------     
	#显示目录下所有agent安装包
	echo "List file[该目录下安装包为]:::"
	ls agent*.tar.gz
	ls AGENT*.tar.gz
	echo ---------------------------------
	#查看已安装旧版本
	echo "已安装版本:::"
	cat /opt/server/web/agent/version.properties
	echo
	echo ---------------------------------
	

		########### 检查版本号是否为数字串
	 i=1
        while(($i<100))
        do
		
            echo "Input version info [输入需升级版本号(文件名末尾四位数字)]:::"
	   read vernum
            sleep 1
                ############
                expr $vernum "+" 10 &> /dev/null
                if [ $? -eq 0 ];then
						echo ---------------------------------
                        echo "YOU INPUT VERSION INFO (版本号)::: $vernum"
						echo ---------------------------------
                readversion=$vernum;
		sleep 2

	#输入正确则解压对应安装包安装,输入错误则exit0
	if [ -e "AGENT-$readversion-V1.tar.gz" ];then
	tar -zxvf AGENT-$readversion-V1.tar.gz
	else
	echo ---------------------------------
	echo -e "\033[31mNo such file or directory[无此安装包]\033[0m"
	echo ---------------------------------
	exit 0 
	fi	
	sleep 5
	cd agent_$vernum-V1
	sh install.sh
	#显示进程运行状态新装版本号和启动进程(start.sh中已有kill旧进程号重启功能)
	cd /opt/server/web/agent
	echo ---------------------------------
	ps -ef|grep agent.jar
	echo ---------------------------------
	./start.sh
	sleep 5
	echo ---------------------------------
	ps -ef|grep agent.jar
	echo ---------------------------------
	echo "版本号:::"
	cat version.dat
	echo
	echo ---------------------------------
	echo -e "\033[32mFinish[已完成升级]\033[0m"
	echo ---------------------------------
	exit 0




                        break
                        #输入版本号错误调至此处
                else
                        echo -e "\033[31mYOU INPUT VERSION INFO [版本号] NOT A number[请输入数字]!!!\033[0m"
                        let "i++"
                fi
        done
fi


猜你喜欢

转载自blog.csdn.net/Skywin88/article/details/84748180