Files
aza/AzA march 2026/hetzner_backup_merge_woo_env.sh

58 lines
2.0 KiB
Bash
Raw Permalink Normal View History

2026-05-20 00:09:28 +02:00
#!/usr/bin/env bash
set -euo pipefail
TS="$(date +%Y%m%d_%H%M%S)"
BK="/root/aza-app/backups/woocommerce_period_sync_env_deploy_${TS}"
mkdir -p "${BK}"
cp -a /root/aza-app/data/stripe_webhook.sqlite "${BK}/"
cp -a /root/aza-app/admin_routes.py "${BK}/"
test -f /root/aza-app/aza_wc_period_sync.py && cp -a /root/aza-app/aza_wc_period_sync.py "${BK}/" || true
cp -a /root/aza-app/deploy/.env "${BK}/.env.backup"
{
echo "Rollback (als root auf diesem Server):"
echo ""
echo "cd /root/aza-app/deploy"
echo "docker compose stop aza-api"
echo ""
echo "cp \"${BK}/stripe_webhook.sqlite\" /root/aza-app/data/stripe_webhook.sqlite"
echo "cp \"${BK}/admin_routes.py\" /root/aza-app/admin_routes.py"
if test -f "${BK}/aza_wc_period_sync.py"; then
echo "cp \"${BK}/aza_wc_period_sync.py\" /root/aza-app/aza_wc_period_sync.py"
fi
echo "cp \"${BK}/.env.backup\" /root/aza-app/deploy/.env"
echo ""
echo "docker compose build --no-cache aza-api"
echo "docker compose up -d --force-recreate aza-api"
} > "${BK}/README_RESTORE.txt"
python3 << 'PY'
from pathlib import Path
patch_path = Path("/tmp/aza_woo_patch.env")
text = patch_path.read_text(encoding="utf-8")
vars_to_set = {}
for line in text.splitlines():
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
k, v = line.split("=", 1)
vars_to_set[k.strip()] = v.strip()
env_path = Path("/root/aza-app/deploy/.env")
lines = env_path.read_text(encoding="utf-8").splitlines() if env_path.exists() else []
keys = set(vars_to_set)
new_lines = []
seen = set()
for line in lines:
t = line.strip()
if t and not t.startswith("#") and "=" in t:
k = t.split("=", 1)[0].strip()
if k in keys:
new_lines.append("%s=%s" % (k, vars_to_set[k]))
seen.add(k)
continue
new_lines.append(line)
for k in sorted(keys - seen):
new_lines.append("%s=%s" % (k, vars_to_set[k]))
env_path.write_text("\n".join(new_lines) + "\n", encoding="utf-8")
patch_path.unlink()
PY
chmod 600 /root/aza-app/deploy/.env
echo "BACKUP_PATH=${BK}"