25 行
615 B
Bash
25 行
615 B
Bash
|
|
#!/bin/bash
|
||
|
|
# 将构建好的文档站同步到服务器目录
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
|
|
SITE_DIR="$ROOT_DIR/site"
|
||
|
|
DEPLOY_ROOT="${DEPLOY_ROOT:-/var/www/docs.xuqinmin.com}"
|
||
|
|
TARGET_DIR="$DEPLOY_ROOT/site"
|
||
|
|
|
||
|
|
if [ ! -d "$SITE_DIR" ]; then
|
||
|
|
echo "错误: 未找到站点目录 $SITE_DIR"
|
||
|
|
echo "请先执行: make docs-build"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
if ! command -v rsync >/dev/null 2>&1; then
|
||
|
|
echo "错误: 未检测到 rsync,请先安装 rsync"
|
||
|
|
exit 1
|
||
|
|
fi
|
||
|
|
|
||
|
|
mkdir -p "$TARGET_DIR"
|
||
|
|
rsync -a --delete "$SITE_DIR"/ "$TARGET_DIR"/
|
||
|
|
echo "同步完成: $TARGET_DIR"
|