39 lines
1.1 KiB
Bash
39 lines
1.1 KiB
Bash
#!/usr/bin/env bash
|
|
# 创建宿主机数据目录 /var/container/data/datahub/
|
|
# 所有运行期产物(数据卷 + env 配置)统一放在此根目录下
|
|
#
|
|
# 用法:bash setup-data-dirs.sh
|
|
|
|
set -euo pipefail
|
|
|
|
DATA_BASE=/var/container/data/datahub
|
|
SUBDIRS=(postgres rabbitmq backend-runtime env)
|
|
|
|
# 1. 父目录需要 root 创建并把所有权移交给当前用户
|
|
if [ ! -d "$DATA_BASE" ]; then
|
|
echo "[*] $DATA_BASE 不存在,需要 sudo 创建"
|
|
sudo mkdir -p "$DATA_BASE"
|
|
sudo chown "$USER:$USER" "$DATA_BASE"
|
|
fi
|
|
|
|
# 2. 创建子目录
|
|
for d in "${SUBDIRS[@]}"; do
|
|
full="$DATA_BASE/$d"
|
|
if [ -d "$full" ]; then
|
|
echo "[=] $full 已存在,跳过"
|
|
else
|
|
mkdir -p "$full"
|
|
echo "[+] 创建 $full"
|
|
fi
|
|
done
|
|
|
|
echo
|
|
echo "完成。当前结构:"
|
|
ls -la "$DATA_BASE"
|
|
|
|
echo
|
|
echo "说明:"
|
|
echo " - postgres / rabbitmq 目录在容器首次启动时由 podman 自动 chown 给容器内用户(:U 标志)"
|
|
echo " - backend-runtime 容器以 root 运行,无需额外 chown"
|
|
echo " - env/ 存放 datahub-backend.env / datahub-frontend.env(由 configure-env.sh 生成)"
|