ligbox-ops-platform/deploy/vm116-nextcloud/scripts/backup-occ.sh
Ligbox Spec Hub c1881f58e6 chore: sync Console SSO, DNS viewer, specs e infra docs pendentes
Inclui console handoff Desk↔Console (Spec 019), melhorias DNS Viewer (037),
OpenPanel/Nextcloud/VM116 deploy notes, contracts stack e sidebar actualizado.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-25 20:10:17 +00:00

21 lines
795 B
Bash
Executable file

#!/usr/bin/env bash
# Daily backup — Nextcloud data + PostgreSQL dump (Spec 034)
set -euo pipefail
STACK_DIR="${STACK_DIR:-/opt/vm116-nextcloud}"
BACKUP_ROOT="${BACKUP_ROOT:-/var/backups/nextcloud}"
STAMP=$(date +%Y%m%d-%H%M)
mkdir -p "$BACKUP_ROOT/$STAMP"
cd "$STACK_DIR"
docker compose exec -T db pg_dump -U nextcloud nextcloud | gzip > "$BACKUP_ROOT/$STAMP/postgres.sql.gz"
docker compose exec -T -u www-data nextcloud occ maintenance:mode --on
docker run --rm \
-v vm116-nextcloud_nc-data:/data:ro \
-v "$BACKUP_ROOT/$STAMP":/backup \
alpine tar czf /backup/nc-data.tar.gz -C /data .
docker compose exec -T -u www-data nextcloud occ maintenance:mode --off
find "$BACKUP_ROOT" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} + 2>/dev/null || true
echo "Backup: $BACKUP_ROOT/$STAMP"