- hosts/us2: Gitea 1.27.3-rootless 部署实况 (repo.windy.me SSH:2222/Web), 16 仓迁移核对, 备份/回滚; soft-serve 停用保留作回滚 - compose/gitea: 参考镜像 (rootless compose + 备份 sidecar + 一次性迁移脚本留档) - AGENTS/inventory/compose README: 服务表与索引同步
21 lines
781 B
Bash
Executable File
21 lines
781 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
umask 077
|
|
D() { date "+%Y-%m-%d %H:%M:%S"; }
|
|
TS=$(date +%Y%m%d_%H%M%S)
|
|
OUT="/backup/gitea_${TS}"
|
|
mkdir -p "$OUT"
|
|
echo "[$(D)] Starting gitea backup -> $OUT"
|
|
# rootless 布局: app.ini=/etc/gitea(宿主 ./config), db+repos=/var/lib/gitea/data(宿主 ./data/data)
|
|
# app.ini 含 SECRET_KEY/INTERNAL_TOKEN — 恢复 2FA/session/mirror 凭据必需
|
|
tar czf "$OUT/app.ini.tar.gz" -C /config app.ini
|
|
sqlite3 /data/data/gitea.db ".backup '$OUT/gitea.db'"
|
|
rsync -a /data/data/git/repositories/ "$OUT/repos/"
|
|
tar czf "$OUT/repos.tar.gz" -C "$OUT" repos
|
|
rm -rf "$OUT/repos"
|
|
chmod 600 "$OUT"/*
|
|
if [ -n "${BACKUP_UID:-}" ] && [ -n "${BACKUP_GID:-}" ]; then
|
|
chown -R "$BACKUP_UID:$BACKUP_GID" "$OUT" /backup/backup.log
|
|
fi
|
|
echo "[$(D)] Backup OK: $(du -sh "$OUT" | cut -f1)"
|