Gå til innholdet

Cookie-innstillinger

Velg hvilke typer cookies du tillater. Du kan når som helst endre valget via Cookie-innstillinger nederst på hver side. Personvernerklæring

Nødvendige

Alltid på

Trengs for å logge inn, beholde handlekurven og huske valgene dine. Disse er alltid på.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: økten din og at du forblir innlogget
  • weboke_basket: handlekurven din
  • wkBtwIncl: visning av priser med eller uten mva.
  • wok_cookies: cookievalget ditt, 12 måneder

Måler hvilken annonse som fører til et besøk eller en bestilling, slik at vi ikke betaler for annonser som ikke gir noe.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), opptil 90 dager
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: hvilken partner som henviste deg til oss (partnerprogram), 60 dager

4,6

Land og språk

Hvert land har sin egen nettside, med priser og mva. for det landet.

Vis

Back-ups met restic naar een andere plek

This article hasn't been translated yet. You're reading the Dutch version.

De dagelijkse backup van WebOké (zie Backups van WebOké terugzetten) zet altijd je hele VPS terug en staat bij dezelfde aanbieder. Met restic maak je daarnaast je eigen back-up: versleuteld, op een andere plek, en je haalt er losse bestanden uit terug.

Wat heb je nodig?

  • Een plek buiten je VPS waar je via SFTP bij kunt, bijvoorbeeld een opslagdienst of een tweede server. In de voorbeelden is dat backup.example.net met de gebruiker backup.
  • Een sterk wachtwoord voor de back-up. Ben je dat kwijt, dan is je back-up onbruikbaar. Bewaar het ook buiten de server, in je wachtwoordmanager.

Installeren en klaarzetten

De back-up draait als root, zodat hij alles kan lezen.

anna@web1:~$ sudo apt install restic
anna@web1:~$ sudo -i
root@web1:~# ssh-keygen -t ed25519 -C "restic web1" -N "" -f /root/.ssh/id_backup
root@web1:~# ssh-copy-id -i /root/.ssh/id_backup.pub backup@backup.example.net
root@web1:~# install -m 600 /dev/null /root/.restic-wachtwoord
root@web1:~# nano /root/.restic-wachtwoord

Zet in /root/.ssh/config dat root deze sleutel gebruikt voor de back-upserver:

Host backup.example.net
    User backup
    IdentityFile /root/.ssh/id_backup

Maak dan de repository (de plek waar restic alles bewaart):

root@web1:~# export RESTIC_REPOSITORY=sftp:backup@backup.example.net:/restic/web1
root@web1:~# export RESTIC_PASSWORD_FILE=/root/.restic-wachtwoord
root@web1:~# restic init
created restic repository 3c9a1e5b2d at sftp:backup@backup.example.net:/restic/web1

Het back-upscript

Zet dit in /usr/local/sbin/backup.sh en maak het uitvoerbaar met chmod 700 /usr/local/sbin/backup.sh:

#!/bin/sh
export RESTIC_REPOSITORY=sftp:backup@backup.example.net:/restic/web1
export RESTIC_PASSWORD_FILE=/root/.restic-wachtwoord

# 1. Databases dumpen (zie 8.2)
/usr/local/sbin/voor-backup.sh || exit 1

# 2. Apps met SQLite even stilzetten, back-up maken, weer starten
cd /srv/diensten
docker compose stop vaultwarden uptime-kuma n8n
restic backup /etc /home /root /srv /var/backups/db /var/lib/docker/volumes   --exclude /var/lib/docker/volumes/diensten_wp-db
RESULTAAT=$?
docker compose start vaultwarden uptime-kuma n8n
[ "$RESULTAAT" -eq 0 ] || exit 1

# 3. Oude back-ups opruimen
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune || exit 1

Noem bij stop en start alleen de apps die je echt hebt; waarom ze even stil moeten, staat in Databases en Docker-volumes goed meenemen. Wat er in voor-backup.sh staat, lees je daar ook. De apps starten altijd weer, ook als de back-up mislukt. Met forget en --prune bewaar je 7 dagelijkse, 4 wekelijkse en 6 maandelijkse back-ups; de rest wordt opgeruimd.

Elke nacht automatisch

Maak /etc/systemd/system/backup.service:

[Unit]
Description=restic back-up

[Service]
Type=oneshot
ExecStart=/usr/local/sbin/backup.sh

en /etc/systemd/system/backup.timer:

[Unit]
Description=restic back-up elke nacht

[Timer]
OnCalendar=*-*-* 03:15
Persistent=true

[Install]
WantedBy=timers.target
root@web1:~# systemctl daemon-reload
root@web1:~# systemctl enable --now backup.timer
root@web1:~# systemctl start backup.service
root@web1:~# journalctl -u backup.service -e

Controleren en terugzetten

root@web1:~# restic snapshots
root@web1:~# restic check
root@web1:~# restic restore latest --target /tmp/terug --include /srv/diensten/vw-data

Zet terug naar een aparte map zoals /tmp/terug en kopieer daarna wat je nodig hebt. Oefen dat een keer per kwartaal: een back-up die je nooit hebt teruggezet, is een hoop, geen back-up.

Tip: Laat je waarschuwen als de back-up niet draait. Maak in Uptime Kuma een Push-monitor (zie Uptime Kuma: je sites en server bewaken) en zet onderaan backup.sh deze twee regels. Blijft het seintje uit, dan krijg je een melding.

sleep 30
curl -fsS -m 10 "https://status.example.com/api/push/JOUWCODE?status=up&msg=OK" >/dev/null

Et øyeblikk …

Sett opp domenene dine

Ordne for hvert domene navnetjenerne, koblingen til hostingen din og hvem som blir innehaver.

Laster inn domenene dine…