Przejdź do treści

Ustawienia plików cookie

Prosimy wybrać, na które rodzaje plików cookie Państwo zezwalają. Wybór można zmienić w dowolnym momencie w Ustawieniach plików cookie na dole każdej strony. Polityka prywatności

Niezbędne

Zawsze włączone

Potrzebne do logowania, zachowania koszyka i zapamiętania wyborów. Są zawsze włączone.

Jakie pliki cookie?
  • weboke_sessie, weboke_klant, weboke_remember: sesja i pozostanie zalogowanym
  • weboke_basket: koszyk
  • wkBtwIncl: wyświetlanie cen z VAT lub bez VAT
  • wok_cookies: wybór dotyczący plików cookie, 12 miesięcy

Mierzą, która reklama prowadzi do odwiedzin lub zamówienia, abyśmy nie płacili za reklamy, które nic nie dają.

Jakie pliki cookie?
  • Google Ads przez Google Tag Manager (_gcl_au, _gcl_aw), do 90 dni
  • OpenAI Ads, reklamy w ChatGPT
  • wok_aff: przez którego partnera trafili Państwo do nas (program partnerski), 60 dni

4,6

Kraj i język

Każdy kraj ma własną stronę z cenami i stawką VAT tego kraju.

Wyświetl

Kopie zapasowe z restic w innym miejscu

Codzienna kopia zapasowa WebOké (zob. Przywracanie kopii zapasowych WebOké) zawsze przywraca cały VPS i jest przechowywana u tego samego dostawcy. Za pomocą restic mogą Państwo dodatkowo tworzyć własną kopię zapasową: szyfrowaną, przechowywaną w innym miejscu, z której można przywracać pojedyncze pliki.

Czego Państwo potrzebują?

  • Miejsca poza Państwa VPS, do którego mają Państwo dostęp przez SFTP, na przykład usługi przechowywania danych lub drugiego serwera. W przykładach jest to backup.example.net z użytkownikiem backup.
  • Silnego hasła do kopii zapasowej. Jeśli je Państwo utracą, kopia zapasowa stanie się bezużyteczna. Prosimy przechowywać je również poza serwerem, w menedżerze haseł.

Instalacja i przygotowanie

Kopia zapasowa działa jako root, aby mogła odczytać wszystkie dane.

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

W pliku /root/.ssh/config prosimy wpisać, że root używa tego klucza do łączenia się z serwerem kopii zapasowych:

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

Następnie prosimy utworzyć repozytorium (miejsce, w którym restic przechowuje wszystkie dane):

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

Skrypt kopii zapasowej

Prosimy zapisać poniższą treść w pliku /usr/local/sbin/backup.sh i nadać mu prawo wykonywania poleceniem 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

W stop i start prosimy wymienić tylko te aplikacje, których Państwo faktycznie używają; dlaczego muszą one na chwilę zostać zatrzymane, wyjaśniamy w Prawidłowe uwzględnianie baz danych i woluminów Docker w kopii zapasowej. Tam znajdą Państwo również informacje o zawartości voor-backup.sh. Aplikacje zawsze uruchamiają się ponownie, także wtedy, gdy kopia zapasowa się nie powiedzie. Dzięki forget i --prune przechowują Państwo 7 dziennych, 4 tygodniowe i 6 miesięcznych kopii zapasowych; pozostałe są usuwane.

Automatycznie każdej nocy

Prosimy utworzyć plik /etc/systemd/system/backup.service:

[Unit]
Description=restic back-up

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

oraz plik /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

Sprawdzanie i przywracanie

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

Prosimy przywracać dane do osobnego katalogu, takiego jak /tmp/terug, a następnie skopiować to, czego Państwo potrzebują. Warto ćwiczyć to raz na kwartał: kopia zapasowa, której nigdy nie przywrócono, jest tylko nadzieją, a nie kopią zapasową.

Wskazówka: Warto ustawić powiadomienie na wypadek, gdyby kopia zapasowa się nie wykonała. Prosimy utworzyć w Uptime Kuma monitor typu Push (zob. Uptime Kuma: monitorowanie stron i serwera) i dodać na końcu pliku backup.sh poniższe dwa wiersze. Jeśli sygnał nie dotrze, otrzymają Państwo powiadomienie.

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

Chwileczkę…

Konfiguracja domen

Dla każdej domeny można ustawić serwery nazw, powiązanie z hostingiem oraz to, kto zostanie właścicielem.

Wczytywanie domen…