就做个记录吧, 其实也没啥好说的.
主机
#!/bin/bash TODAY=$(date -d 'today' +%Y-%m-%d-%S) MIP="192.168.180.24" LIP="192.168.180.25" user="mcdadm" pathN="/home/mcdadm/apache-tomcat-9.0.14" echo "即将实现自动部署操作,脚本运行后请稍等几秒,部署成功会自动提醒" function run(){ ./stop.sh >/dev/null 2>&1 sleep 2 cp webapps/bskm.war backup/bskm.war-${TODAY} rm -rf webapps/bskm* sleep 2 cp bskm.war webapps/ ./start.sh >/dev/null 2>&1 echo "主机${MIP}部署完成!" read -p "是否观察动态日志? [y/n] " input case $input in [yY]*) echo "" tail -f logs/catalina.out ;; [nN]*) #exit ;; *) ;; esac } function ifM(){ if [ -d "backup" ];then run else mkdir backup run fi } function slaveLin(){ echo -e " 33[43;35m 请输入${LIP}副机登录密码以实现部署包传输 33[0m" scp bskm.war ${user}@${LIP}:${pathN}/ echo -e " 33[43;35m 请输入${LIP}副机登录密码以实现自动部署 33[0m" ssh -Tq ${user}@${LIP} << EOF cd ${pathN} ./schenglee.sh EOF echo "副机${LIP}部署完成!" } function main(){ ifM slaveLin } main
副机
#!/bin/bash TODAY=$(date -d 'today' +%Y-%m-%d-%S) pathc="/home/mcdadm/apache-tomcat-9.0.14" echo "即将实现自动部署操作,脚本运行后请稍等几秒,部署成功会自动提醒" function run(){ sh ${pathc}/stop.sh>/dev/null 2>&1 sleep 2 cp ${pathc}/webapps/bskm.war ${pathc}/backup/bskm.war-${TODAY} rm -rf ${pathc}/webapps/bskm* sleep 2 cp ${pathc}/bskm.war ${pathc}/webapps/ sh ${pathc}/start.sh>/dev/null 2>&1 echo "部署完成" read -p "是否观察动态日志? [y/n] " input case $input in [yY]*) echo "" tail -f logs/catalina.out ;; [nN]*) exit ;; *) ;; esac } function ifM(){ if [ -d "${pathc}/backup" ];then run else mkdir ${pathc}/backup run fi } function main(){ ifM } main
副机脚本命名为schenglee.sh