From 68813eb5bd7e1ee9c9490924b61e52c8fe8ee343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Wed, 2 Sep 2026 10:06:05 +0800 Subject: [PATCH] =?UTF-8?q?admin-ui=20ng=E8=BD=AC=E5=8F=91=E5=9F=9F?= =?UTF-8?q?=E5=90=8D=E5=A2=9E=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose-infra-main.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/docker-compose-infra-main.yml b/docker-compose-infra-main.yml index bde7ea7..4b370e6 100644 --- a/docker-compose-infra-main.yml +++ b/docker-compose-infra-main.yml @@ -61,9 +61,14 @@ services: mkdir -p "/backup" while true; do f="backup_$(date +%Y%m%d_%H%M%S).sql.gz" + tmp="/backup/$${f}.tmp" echo "[$(date '+%Y-%m-%d %H:%M:%S')] Starting backup: $${f}" - pg_dumpall -h postgres -U postgres | gzip > "/backup/$${f}" - echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup complete" + if pg_dumpall -h postgres -U postgres > "$${tmp}" && gzip -f "$${tmp}" && mv "$${tmp}.gz" "/backup/$${f}"; then + echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup complete" + else + echo "[$(date '+%Y-%m-%d %H:%M:%S')] Backup FAILED, removing partial file" + rm -f "$${tmp}" "$${tmp}.gz" + fi find /backup -name "backup_*.sql.gz" -mtime +7 -delete 2>/dev/null || true sleep 86400 done