黑龙江
ICPSP_UP.sh
#!/bin/bash # 定义变量 formatted_date=$(date +"%Y%m%d") # 获取当前日期,格式为YYYYMMDD tomcat_dir="/opt/tomcat/apache-tomcat-9.0.70_icpsp/" # Tomcat的根目录 ftp_dir="${tomcat_dir}sun" # FTP上传文件的目录 war_file="ICPSP.war" # WAR文件的原始名称 backup_dir="webapps-${formatted_date}" # 备份目录名称,包含日期 root_war="${tomcat_dir}webapps/ROOT.war" # 需要部署的目标WAR文件路径 # 创建备份目录 mkdir -p "${tomcat_dir}${backup_dir}" # 在Tomcat目录下创建备份目录 # 如果需要,重命名WAR文件 cd "${ftp_dir}" || exit # 切换到FTP目录 if [[ -f "${war_file}" ]]; then # 检查WAR文件是否存在 mv "${war_file}" "ROOT.war" # 如果存在,重命名为ROOT.war fi # 停止Tomcat服务 cd "${tomcat_dir}/bin" || exit # 切换到Tomcat的bin目录 ./shutdown.sh # 尝试优雅地停止Tomcat sleep 5 # 等待Tomcat完全停止 # 如果Tomcat仍在运行,强制停止 if pgrep -f "java.*${tomcat_dir}" > /dev/null; then # 检查是否有Tomcat相关的Java进程 ps aux | grep "${tomcat_dir}" | grep -v grep | awk '{print $2}' | xargs kill -9 # 强制杀死所有Tomcat相关进程 fi # 备份现有的webapps目录 mv "${tomcat_dir}webapps" "${tomcat_dir}${backup_dir}" # 将webapps目录移动到备份目录 echo "项目备份完成。" # 复制新的WAR文件到Tomcat的webapps目录 cp -a "${ftp_dir}/ROOT.war" "${tomcat_dir}webapps/" # 将新的WAR文件复制到webapps目录 sleep 10 # 等待一段时间,确保文件操作完成 echo "项目替换完成。" # 启动Tomcat服务 cd "${tomcat_dir}/bin" || exit # 再次切换到Tomcat的bin目录 ./startup.sh # 启动Tomcat echo "项目启动。" # 显示实时日志 tail -f "${tomcat_dir}logs/catalina.out" # 显示Tomcat的日志文件,跟踪启动过程和运行状态
标签:SHELL,Tomcat,tomcat,webapps,目录,全程,电子化,war,dir From: https://www.cnblogs.com/JIKes/p/18309622