Backup-strategi för VPS – Automatiserad Säkerhetskopiering
Designa en robust backup-strategi för din VPS. Automatiserade backuper, offsite-lagring och katastrofåterställning.
Varför backup är icke-förhandlingsbart
En VPS utan backup-strategi är en tickande bomb. Diskfel, mänskliga misstag, ransomware eller leverantörsproblem kan radera din data permanent. Den enda frågan är *när* det händer, inte *om*.
Regeln 3-2-1 gäller:
- 3 kopior av din data
- 2 olika lagringsmedia
- 1 kopia offsite
Verktyg för Linux-backup
rsync – Enkel och pålitlig
rsync kopierar filer inkrementellt och är perfekt för dagliga backuper:
#!/bin/bash
# backup.sh – Daglig backup med rsync
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
SRC="/var/www /etc /home"
DEST="backup@offsite:/backups/$HOSTNAME/$TIMESTAMP/"
rsync -avz --delete $SRC $DEST
# Rensa backuper äldre än 30 dagar
ssh backup@offsite "find /backups/$HOSTNAME/ -maxdepth 1 -mtime +30 -exec rm -rf {} \;"BorgBackup – Dedupliserad backup
Borg komprimerar och deduplicerar data, vilket sparar lagring:
# Initiera repository
borg init --encryption=repokey /backup/repo
# Skapa backup
borg create --stats --progress \
/backup/repo::{hostname}-{now:%Y%m%d_%H%M%S} \
/var/www /etc /home \
--exclude '*.log' \
--exclude '__pycache__'
# Rensa gamla arkiv (behåll 7 dagliga, 4 veckovisa, 6 månatliga)
borg prune --keep-daily=7 --keep-weekly=4 --keep-monthly=6 /backup/repoDatabasbackup
Databaser kräver konsistenta snapshots – kopiera aldrig datafiler direkt:
# MySQL/MariaDB
mysqldump --single-transaction --all-databases | gzip > /backup/db_$(date +%Y%m%d).sql.gz
# PostgreSQL
pg_dumpall | gzip > /backup/pg_$(date +%Y%m%d).sql.gzAutomatisering med Cron
Schemalägg backuper med crontab:
# Kör backup dagligen kl 03:00
0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1
# Databasbackup var 6:e timme
0 */6 * * * mysqldump --single-transaction mydb | gzip > /backup/mydb_$(date +\%Y\%m\%d_\%H).sql.gzOffsite-lagring
Lagra aldrig alla backuper på samma server:
- Separat VPS – Billig lagringsinstans hos en annan leverantör
- Objektlagring – S3-kompatibel lagring (Wasabi, Backblaze B2)
- Lokalt NAS – För extra redundans
Exempel: Backup till S3 med rclone
# Konfigurera rclone
rclone config
# Välj S3 och ange credentials
# Synka backup
rclone sync /backup/repo s3remote:my-server-backups --transfers 4Testa dina backuper
En backup som aldrig testats är lika värdelös som ingen backup alls.
# Schemalagd restore-test (månatlig)
0 4 1 * * /usr/local/bin/test-restore.sh >> /var/log/restore-test.log 2>&1Skriptet bör:
- Återställa senaste backup till en testmiljö
- Verifiera att tjänsterna startar
- Kontrollera dataintegritet
- Skicka rapport via e-post
Katastrofåterställning
Dokumentera din återställningsplan:
- Beställ ny VPS (t.ex. via mehosting.com)
- Installera baspaket
- Återställ konfiguration från /etc-backup
- Återställ applikationsdata
- Återställ databaser
- Uppdatera DNS
- Verifiera att allt fungerar
Mät din RTO (Recovery Time Objective) och RPO (Recovery Point Objective). Rimliga mål för en VPS: RTO under 2 timmar, RPO under 6 timmar.
Sammanfattning
Automatiserade backuper med offsite-lagring och regelbundna restore-tester är grundpelaren i serverdrift. Investera tid i att sätta upp det ordentligt – det är den bästa försäkringen du kan ha.
Behöver du pålitlig VPS hosting?
mehosting.com erbjuder VPS hosting med NVMe-lagring, DDoS-skydd och teknisk support.
Besök mehosting.com