Säkerhetskopiering
Vad servern gör själv
Kitet lägger in två schemalagda jobb i roots crontab:
| När | Vad | Var |
|---|---|---|
| Varje natt kl. 02.00 | Alla databaser, Redis och /opt/eurion/config | /opt/eurion/backups/postgres/eurion-backup-<tid>.tar.gz |
| Söndagar kl. 03.00 | Compose-filer och /opt/eurion/config | /opt/eurion/backups/config/ |
Tiderna gäller serverns tidszon. Nattens kopior sparas i 30 dagar. Nattens arkiv kopieras också till bucketen eurion-backups i serverns egen MinIO-lagring.
En säkerhetskopia tas dessutom automatiskt före varje uppdatering, och efter installationen.
Loggar: /opt/eurion/logs/backup.log och /opt/eurion/logs/backup-cron.log.
Det här räcker inte ensamt
Alla kopior ligger på samma server. Går servern eller disken förlorad försvinner kopiorna också. Dessutom ingår inte:
- uppladdade filer (MinIO,
/opt/eurion/data/minio) - sökindexet (Meilisearch, kan byggas om)
- Let's Encrypt-certifikaten (hämtas på nytt)
- lösenord och nycklar i
/opt/eurion/deploy/generated/
Kopiera regelbundet det som står i Kopiera till en annan plats till en annan maskin.
Ta en säkerhetskopia nu
sudo /opt/eurion/config/backup.shDet är samma skript som körs varje natt och före uppdateringar.
Lista de kopior som finns:
sudo eurion-ctl backup listKontrollera att ett arkiv går att läsa:
sudo eurion-ctl backup verify /opt/eurion/backups/postgres/eurion-backup-20261025_020000.tar.gzAnvänd inte eurion-ctl backup create
I 1.6.4 tar eurion-ctl backup create (och eurion-ctl backup utan argument) inte med alla databaser, och raderar alla utom de sju senaste arkiven i samma katalog, även nattens kopior. Använd backup.sh ovan.
Kopiera till en annan plats
Det här behövs för att kunna bygga upp servern igen:
| Katalog | Innehåll |
|---|---|
/opt/eurion/backups/postgres/ | Nattens databasarkiv |
/opt/eurion/data/minio/ | Alla uppladdade filer |
/opt/eurion/deploy/generated/ | Konfiguration, lösenord och nycklar (secrets.yml) |
/opt/eurion/data/collabora/proof_key | Nyckeln för dokumentredigering, om features.office är på |
Ett exempel med rsync till en annan server, som du kan lägga i roots crontab efter kl. 02.00:
sudo rsync -a --delete /opt/eurion/data/minio/ backup@backup.example.se:/srv/eurion/minio/
sudo rsync -a /opt/eurion/backups/postgres/ backup@backup.example.se:/srv/eurion/postgres/
sudo rsync -a /opt/eurion/deploy/generated/ backup@backup.example.se:/srv/eurion/generated/Skydda kopiorna
Arkiven och generated/ innehåller all data och alla lösenord. Kryptera dem eller lagra dem på en plats där bara ni har åtkomst. En kopia av secrets.yml som kommer på avvägar ger tillgång till hela installationen.
Återställa databaserna
Återställningen skriver över alla databaser med innehållet i arkivet. Allt som skrivits efter att arkivet togs går förlorat.
Stoppa tjänsterna (databasen fortsätter köra):
bashsudo docker compose --project-directory /opt/eurion/compose --env-file /opt/eurion/compose/.env \ -f /opt/eurion/compose/services.yml stopÅterställ. Skriptet frågar efter
YES:bashsudo /opt/eurion/config/restore.sh /opt/eurion/backups/postgres/eurion-backup-20261025_020000.tar.gzVill du bara återställa en databas, ange dess namn efter arkivet, till exempel
eurion_messaging.Starta tjänsterna igen:
bashsudo docker compose --project-directory /opt/eurion/compose --env-file /opt/eurion/compose/.env \ -f /opt/eurion/compose/services.yml startKontrollera:
bashsudo eurion-ctl status
Arkivet ska komma från samma version av Eurion som är installerad. Är versionerna olika, kontakta support först.
Återställa uppladdade filer
Filerna ligger i /opt/eurion/data/minio. Stoppa MinIO, lägg tillbaka katalogen från din kopia och starta MinIO igen:
sudo docker stop eurion-minio
sudo rsync -a --delete backup@backup.example.se:/srv/eurion/minio/ /opt/eurion/data/minio/
sudo docker start eurion-minioÅterställ databaserna och filerna från ungefär samma tidpunkt, annars kan det finnas filer som databasen inte känner till, eller tvärtom.
Säkerhetskopior och uppdateringar
Före varje uppdatering tas en kopia. Den används av den automatiska återgången om en migrering misslyckas, och av eurion-ctl rollback-update --restore-db.