You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求用于WAS重启的Shell包装脚本:含启停服务器及调用deploy.py功能

符合需求的Shell包装脚本实现

没问题,我帮你写一个实用的Shell包装脚本,不仅能完成你要求的三步操作,还加入了错误检查、日志记录这些实用功能,避免过程中出问题却没及时发现。

完整脚本示例

#!/bin/bash

# 配置参数 - 根据你的实际环境修改这些值
WAS_INSTALL_PATH="/opt/IBM/WebSphere/AppServer"
WAS_SERVER_NAME="server1"
DEPLOY_SCRIPT="/path/to/deploy.py"
LOG_FILE="/var/log/was_deploy.log"

# 日志函数:记录时间和消息
log_message() {
    echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" >> "$LOG_FILE"
}

# 停止WAS服务器函数
stop_was_server() {
    log_message "开始停止WAS服务器: $WAS_SERVER_NAME"
    "$WAS_INSTALL_PATH/bin/stopServer.sh" "$WAS_SERVER_NAME" >> "$LOG_FILE" 2>&1
    
    if [ $? -eq 0 ]; then
        log_message "WAS服务器停止成功"
        return 0
    else
        log_message "ERROR: WAS服务器停止失败,请检查日志"
        return 1
    fi
}

# 执行部署脚本函数
run_deploy_script() {
    log_message "开始执行部署脚本: $DEPLOY_SCRIPT"
    
    # 先检查deploy.py是否存在且可执行
    if [ ! -f "$DEPLOY_SCRIPT" ]; then
        log_message "ERROR: 部署脚本 $DEPLOY_SCRIPT 不存在"
        return 1
    fi
    
    if [ ! -x "$DEPLOY_SCRIPT" ]; then
        log_message "WARNING: 部署脚本没有执行权限,尝试添加..."
        chmod +x "$DEPLOY_SCRIPT" >> "$LOG_FILE" 2>&1
    fi
    
    # 执行deploy.py,这里假设需要Python3,根据实际情况调整
    python3 "$DEPLOY_SCRIPT" >> "$LOG_FILE" 2>&1
    
    if [ $? -eq 0 ]; then
        log_message "部署脚本执行成功"
        return 0
    else
        log_message "ERROR: 部署脚本执行失败,请检查日志"
        return 1
    fi
}

# 启动WAS服务器函数
start_was_server() {
    log_message "开始启动WAS服务器: $WAS_SERVER_NAME"
    "$WAS_INSTALL_PATH/bin/startServer.sh" "$WAS_SERVER_NAME" >> "$LOG_FILE" 2>&1
    
    if [ $? -eq 0 ]; then
        log_message "WAS服务器启动成功"
        return 0
    else
        log_message "ERROR: WAS服务器启动失败,请检查日志"
        return 1
    fi
}

# 主流程
log_message "===== 开始执行WAS部署流程 ====="

# 第一步:停止服务器
if ! stop_was_server; then
    log_message "部署流程终止:服务器停止失败"
    exit 1
fi

# 第二步:执行部署脚本
if ! run_deploy_script; then
    log_message "部署流程终止:部署脚本执行失败"
    exit 1
fi

# 第三步:启动服务器
if ! start_was_server; then
    log_message "部署流程终止:服务器启动失败"
    exit 1
fi

log_message "===== WAS部署流程执行完成 ====="
exit 0

使用说明

  • 修改配置参数:先把脚本里的WAS_INSTALL_PATH、WAS_SERVER_NAME、DEPLOY_SCRIPT、LOG_FILE这几个变量改成你环境的实际路径
  • 添加执行权限:运行chmod +x was_deploy.sh给脚本加执行权限
  • 执行脚本:直接运行./was_deploy.sh,或者用sudo(如果需要管理员权限)

关键细节提醒

  • WAS的启停命令路径:不同版本的WAS可能路径略有不同,比如有些版本是profiles/你的profile/bin/stopServer.sh,要根据实际情况调整
  • 部署脚本依赖:确保运行deploy.py的环境已经安装了所需的Python依赖,避免执行失败
  • 日志排查:所有操作日志都会写到你指定的LOG_FILE里,如果出问题可以直接查看日志定位原因

内容的提问来源于stack exchange,提问作者Madhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:19:12