Shell 打包发布脚本

Shell 打包发布脚本


常用打包发布脚本

打包脚本 (在Windows环境中编译成二进制文件后, 拷贝至服务器)
#!/bin/bash

BIN=erp-api

make build

#api Server
echo "please input password:xxxxx"

scp -P 22  $BIN user@ip:~/erp/$BIN


发布脚本 (在服务器中杀死旧进程, 启动新进程)

需要提前创建好log文件夹

#!/bin/bash

ROOT_DIR=.
LOG_DIR=$ROOT_DIR/log
DATE=$(date +%Y%m%d_%H%M)
PID=`ps -ef | grep './erp-api' | grep -v 'grep' | awk '{print $2}'`

kill $PID

chmod +x erp-api

nohup ./erp-api > $LOG_DIR/erp-api-$DATE.log 2>&1 &


#!/bin/bash

# 生产环境重启脚本

DATE=$(date +%Y%m%d_%H%M)
APP_NAME="xx"
CONFIG_FILE="prod.toml"

# 查找并杀死进程
PID=$(ps -ef | grep "./${APP_NAME}" | grep -v 'grep' | awk '{print $2}')

if [ -n "$PID" ]; then
    echo "Killing existing process (PID: $PID)..."
    kill $PID
    sleep 2  # 给进程一些时间正常退出
fi

# 确保可执行文件有执行权限
if [ -f "$APP_NAME" ]; then
    chmod +x "$APP_NAME"
else
    echo "Error: $APP_NAME not found!"
    exit 1
fi

# 启动新进程
echo "Starting $APP_NAME..."
nohup "./${APP_NAME}" "$CONFIG_FILE" > /dev/null 2>&1 &

# 检查是否启动成功
sleep 1
if ps -p $! > /dev/null; then
    echo "$APP_NAME started successfully with PID $!"
else
    echo "Failed to start $APP_NAME"
    exit 1
fi

posted @ 2022-05-31 18:11  等你下课啊  阅读(190)  评论(0)    收藏  举报