modify scripts
This commit is contained in:
41
bin/deploy.sh
Executable file
41
bin/deploy.sh
Executable file
@ -0,0 +1,41 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 远程服务器信息
|
||||
REMOTE_USER="ubuntu"
|
||||
REMOTE_HOST="170.106.191.35"
|
||||
REMOTE_DIR="/usr/local/aigrammar"
|
||||
BACKUP_DIR="$REMOTE_DIR/backup"
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
|
||||
# 配置文件环境(默认生产环境)
|
||||
ENV=${1:-prod} # 运行时可以传入 `dev` 或 `prod`
|
||||
CONFIG_FILE="conf/config.${ENV}.toml"
|
||||
|
||||
# 检查本地文件是否存在
|
||||
if [[ ! -f "bin/aigrammar" || ! -f "bin/service.sh" || ! -f "$CONFIG_FILE" ]]; then
|
||||
echo "❌ 关键文件不存在,请检查 bin/aigrammar, bin/service.sh, $CONFIG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 远程创建必要目录(如果不存在)
|
||||
echo "🔹 确保远程目录结构完整..."
|
||||
ssh $REMOTE_USER@$REMOTE_HOST "mkdir -p $REMOTE_DIR/{bin,conf,log,backup}"
|
||||
|
||||
# 备份远程服务器的旧文件
|
||||
echo "📂 备份远程服务器文件..."
|
||||
ssh $REMOTE_USER@$REMOTE_HOST "mkdir -p $BACKUP_DIR && \
|
||||
[ -f $REMOTE_DIR/bin/aigrammar ] && mv $REMOTE_DIR/bin/aigrammar $BACKUP_DIR/aigrammar_$TIMESTAMP || true && \
|
||||
[ -f $REMOTE_DIR/bin/service.sh ] && mv $REMOTE_DIR/bin/service.sh $BACKUP_DIR/service_$TIMESTAMP.sh || true && \
|
||||
[ -f $REMOTE_DIR/conf/config.toml ] && mv $REMOTE_DIR/conf/config.toml $BACKUP_DIR/config_$TIMESTAMP.toml || true"
|
||||
|
||||
# 复制文件到远程服务器(保持目录结构)
|
||||
echo "📤 复制文件到远程服务器..."
|
||||
scp bin/aigrammar $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/bin/
|
||||
scp bin/service.sh $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/bin/
|
||||
scp $CONFIG_FILE $REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/conf/config.toml
|
||||
|
||||
# 远程执行 restart
|
||||
echo "🔄 远程重启服务..."
|
||||
ssh $REMOTE_USER@$REMOTE_HOST "cd $REMOTE_DIR/bin && chmod +x service.sh && ./service.sh restart"
|
||||
|
||||
echo "✅ 发布完成!"
|
||||
Reference in New Issue
Block a user