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

浙公网安备 33010602011771号