如何一次在远程服务器上的 Tomcat 到 shell 上部署多个 war 文件?
How do I deploy multiple war files on Tomcat through shell on remote servers at a time?
我们在其中一台服务器上构建了 运行,我们将 war 分别复制到 5 个远程服务器,然后通过 ssh 连接到这些机器并手动部署 war。我正在寻找一种方法,我们可以通过 运行 一个 shell 脚本同时部署所有 5 个 war 文件??
scp 123.war xyzserver:~/.
ssh xyzserver -t “
sudo su
sudo /etc/init.d/tomcat7 stop
rm -fr /usr/share/tomcat7/webapps/123*
cp ./xyz.war /usr/share/tomcat7/webapps/
sudo /etc/init.d/tomcat7 start”
exit
这样的事情行得通吗?我不确定 cp 是否会等到 tomcat 停止?有更好的方法吗?
在服务器上,您可以 运行 sudo cron 上的进程监视 war 文件的目录并执行停止 Tomcat、取消部署、部署和启动的命令Tomcat。然后你可以将 scp 脚本写入 "watched" 文件夹。
在服务器上创建一个 bash 脚本来检查文件:
if [ "$(ls -A ${WATCHED_DIR})" ]; then
/etc/init.d/tomcat7 stop
rm -fr /usr/share/tomcat7/webapps/${WEBAPP_NAME}
mv ${WATCHED_DIR}/${WEBAPP_NAME}.war /usr/share/tomcat7/webapps/
chown -R tomcat:tomcat /usr/share/tomcat7/webapps/${WEBAPP_NAME}
/etc/init.d/tomcat7 start
fi
将其添加到 sudo crontab 中,使其 运行 成为 root
在客户端(生成 war 文件的地方),创建一个脚本,将文件复制到服务器上的那个目录
scp ${WEBAPP_NAME}.war server1:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server2:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server3:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server4:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server5:${WATCHED_DIR}
我们在其中一台服务器上构建了 运行,我们将 war 分别复制到 5 个远程服务器,然后通过 ssh 连接到这些机器并手动部署 war。我正在寻找一种方法,我们可以通过 运行 一个 shell 脚本同时部署所有 5 个 war 文件??
scp 123.war xyzserver:~/.
ssh xyzserver -t “
sudo su
sudo /etc/init.d/tomcat7 stop
rm -fr /usr/share/tomcat7/webapps/123*
cp ./xyz.war /usr/share/tomcat7/webapps/
sudo /etc/init.d/tomcat7 start”
exit
这样的事情行得通吗?我不确定 cp 是否会等到 tomcat 停止?有更好的方法吗?
在服务器上,您可以 运行 sudo cron 上的进程监视 war 文件的目录并执行停止 Tomcat、取消部署、部署和启动的命令Tomcat。然后你可以将 scp 脚本写入 "watched" 文件夹。
在服务器上创建一个 bash 脚本来检查文件:
if [ "$(ls -A ${WATCHED_DIR})" ]; then
/etc/init.d/tomcat7 stop
rm -fr /usr/share/tomcat7/webapps/${WEBAPP_NAME}
mv ${WATCHED_DIR}/${WEBAPP_NAME}.war /usr/share/tomcat7/webapps/
chown -R tomcat:tomcat /usr/share/tomcat7/webapps/${WEBAPP_NAME}
/etc/init.d/tomcat7 start
fi
将其添加到 sudo crontab 中,使其 运行 成为 root
在客户端(生成 war 文件的地方),创建一个脚本,将文件复制到服务器上的那个目录
scp ${WEBAPP_NAME}.war server1:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server2:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server3:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server4:${WATCHED_DIR}
scp ${WEBAPP_NAME}.war server5:${WATCHED_DIR}