😘实现完善的迁移脚本,防止出现目录错乱问题
This commit is contained in:
parent
81cac3d841
commit
8e57edbfaf
|
|
@ -21,11 +21,12 @@ services:
|
|||
ANHEYU_LICENSE_KEY: ${PANEL_LICENSE_KEY}
|
||||
networks:
|
||||
- 1panel-network
|
||||
|
||||
volumes:
|
||||
- ./anheyu-data/data:/anheyu/data
|
||||
- ./anheyu-data/themes:/anheyu/themes
|
||||
- ./anheyu-data/static:/anheyu/static
|
||||
- ./anheyu-data/backup:/anheyu/backup
|
||||
- ./data/data:/anheyu/data
|
||||
- ./data/themes:/anheyu/themes
|
||||
- ./data/static:/anheyu/static
|
||||
- ./data/backup:/anheyu/backup
|
||||
|
||||
networks:
|
||||
1panel-network:
|
||||
|
|
|
|||
|
|
@ -1,3 +1,37 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "Upgrading..."
|
||||
BASE_DIR="./data"
|
||||
TEMP_DIR="./data_temp"
|
||||
CONF_FILE_OLD="$BASE_DIR/conf.ini"
|
||||
CONF_FILE_NEW="$BASE_DIR/data/conf.ini"
|
||||
|
||||
# 1. 如果 data_temp 存在,直接删除
|
||||
if [ -d "$TEMP_DIR" ]; then
|
||||
echo "发现 $TEMP_DIR,正在删除..."
|
||||
rm -rf "$TEMP_DIR"
|
||||
fi
|
||||
|
||||
# 2. 判断当前结构
|
||||
if [ -f "$CONF_FILE_NEW" ]; then
|
||||
echo "检测到新结构 ($CONF_FILE_NEW 存在),无需迁移。"
|
||||
exit 0
|
||||
elif [ -f "$CONF_FILE_OLD" ]; then
|
||||
echo "检测到旧结构 ($CONF_FILE_OLD 存在),开始迁移..."
|
||||
|
||||
# 2.1 将 data 重命名为 data_temp
|
||||
mv "$BASE_DIR" "$TEMP_DIR"
|
||||
|
||||
# 2.2 创建新的目录结构
|
||||
mkdir -p "$BASE_DIR/data" "$BASE_DIR/themes" "$BASE_DIR/static" "$BASE_DIR/backup"
|
||||
|
||||
# 2.3 把旧数据移到新的 data 目录
|
||||
mv "$TEMP_DIR"/* "$BASE_DIR/data/" 2>/dev/null || true
|
||||
mv "$TEMP_DIR"/.[!.]* "$BASE_DIR/data/" 2>/dev/null || true
|
||||
|
||||
echo "迁移完成!旧数据已移入 $BASE_DIR/data/ 下。"
|
||||
echo "请检查无误后再次运行脚本,以彻底删除 $TEMP_DIR"
|
||||
else
|
||||
echo "未找到 $CONF_FILE_OLD 或 $CONF_FILE_NEW,无法确认目录结构,退出。"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
|||
Loading…
Reference in New Issue