Μετάβαση στο περιεχόμενο

Ενημέρωση και μετεγκατάσταση: Αντίγραφο ασφαλείας

Στόχος και αποτέλεσμα

Ενότητα «Στόχος και αποτέλεσμα»

Ολοκληρώστε τη ροή εργασίας της σελίδας για Ενημέρωση και μετεγκατάσταση: Αντίγραφο ασφαλείας. Η διαδικασία χρησιμοποιεί pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.

Αυτή η σελίδα ισχύει μόνο για Ενημέρωση και μετεγκατάσταση: Αντίγραφο ασφαλείας (Docker · Unraid). Τα όρια καναλιού και δεδομένων είναι: DiscVault · ghcr.io/helmerznl/discvault:latest; dump PostgreSQL και αρχείο συστήματος από το ίδιο παράθυρο χωρίς εγγραφές; PostgreSQL /data; DiscVault · ghcr.io/helmerznl/discvault:beta; dump PostgreSQL και αρχείο συστήματος από το ίδιο παράθυρο χωρίς εγγραφές; PostgreSQL /data. Σημεία ελέγχου της σελίδας: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.

  • DiscVault · ghcr.io/helmerznl/discvault:latest
  • dump PostgreSQL και αρχείο συστήματος από το ίδιο παράθυρο χωρίς εγγραφές
  • PostgreSQL /data
  • DiscVault · ghcr.io/helmerznl/discvault:beta
  • dump PostgreSQL και αρχείο συστήματος από το ίδιο παράθυρο χωρίς εγγραφές
  • PostgreSQL /data
  • προορισμός αντιγράφων εκτός των ενεργών δεδομένων
  • εγγράψιμη μόνιμη αποθήκευση και ελεύθερος χώρος αντιγράφων
  1. Καταγράψτε: PREVIOUS_IMAGE · sha256
  2. Διακόψτε: next-api next-worker next-mcp
  3. Δημιουργήστε αντίγραφο: pg_dump -Fc
  4. Εκκινήστε: next-api → → MCP

Εντολές και ρυθμίσεις

Ενότητα «Εντολές και ρυθμίσεις»
Terminal window
set -euo pipefail
cd /opt/discvault
install -d -m 0700 /srv/backups
BACKUP_ID="$(date -u +%Y%m%dT%H%M%SZ)"
API_ID="$(docker compose --env-file .env -p discvault -f compose.yaml ps -q next-api)"
IMAGE_ID="$(docker inspect "$API_ID" --format '{{.Image}}')"
PREVIOUS_IMAGE="$(docker image inspect "$IMAGE_ID" --format '{{index .RepoDigests 0}}')"
test -n "$PREVIOUS_IMAGE"
printf 'BACKUP_ID=%s\nPREVIOUS_IMAGE=%s\n' "$BACKUP_ID" "$PREVIOUS_IMAGE" \
> "/srv/backups/discvault-$BACKUP_ID.env"
chmod 0600 "/srv/backups/discvault-$BACKUP_ID.env"
docker compose --env-file .env -p discvault -f compose.yaml stop next-worker next-mcp next-api
docker compose --env-file .env -p discvault -f compose.yaml exec -T postgres \
sh -c 'pg_dump -Fc -U "$POSTGRES_USER" "$POSTGRES_DB"' \
> "/srv/backups/discvault-$BACKUP_ID.dump"
tar --acls --xattrs -C /srv -czf \
"/srv/backups/discvault-data-$BACKUP_ID.tgz" discvault
docker compose --env-file .env -p discvault -f compose.yaml start next-api
curl --fail http://localhost:6080/api/next/health
docker compose --env-file .env -p discvault -f compose.yaml start next-worker next-mcp
test -s "/srv/backups/discvault-$BACKUP_ID.dump"
gzip -t "/srv/backups/discvault-data-$BACKUP_ID.tgz"

Αναμενόμενο αποτέλεσμα

Ενότητα «Αναμενόμενο αποτέλεσμα»

Αποδεχθείτε το αποτέλεσμα για Ενημέρωση και μετεγκατάσταση: Αντίγραφο ασφαλείας μόνο όταν ισχύουν όλα τα παρακάτω αποτελέσματα: το αρχείο και το dump δεν είναι κενά, διαβάζονται σε δοκιμή επαναφοράς και συνδέονται με αμετάβλητο digest εικόνας. Σημεία ελέγχου της σελίδας: pg_dump -Fc · DISCVAULT_DATA_DIR · PREVIOUS_IMAGE · next-api.

  • το αρχείο και το dump δεν είναι κενά, διαβάζονται σε δοκιμή επαναφοράς και συνδέονται με αμετάβλητο digest εικόνας

Ασφάλεια και επαναφορά

Ενότητα «Ασφάλεια και επαναφορά»

Ενημέρωση και μετεγκατάσταση: Επαναφορά