Przewodnik po kopiach zapasowych i snapshotach VPS
Serwer może ulec awarii z powodu błędnej aktualizacji, pomyłki, złośliwego oprogramowania lub problemu sprzętowego. Dobry plan łączy snapshoty, kopie zapasowe i przetestowane przywracanie. Na ONIE serwery chmurowe w Ho Chi Minh City obsługują snapshoty i kopie zapasowe, a dane możesz przechowywać na dodatkowym Block Storage.
Snapshot a kopia zapasowa
| Snapshot | Kopia zapasowa | |
|---|---|---|
| Czym jest | Zapisany stan dysku w jednym momencie | Osobna kopia serwera lub jego danych |
| Najlepiej sprawdza się | Szybki powrót przed aktualizacją lub zmianą konfiguracji | Odzyskiwanie po utracie, uszkodzeniu lub usunięciu danych |
| Przechowywany | Blisko oryginalnego serwera | Na osobnym nośniku |
| Szybkość | Szybkie wykonanie i przywrócenie | Wolniejsza, zależy od rozmiaru |
Używaj obu: snapshotu przed ryzykownymi zmianami i zaplanowanych kopii zapasowych dla wszystkiego innego.
Zasada 3-2-1
Przechowuj 3 kopie ważnych danych, na 2 różnych rodzajach nośników, z 1 kopią w innym miejscu. Sam snapshot na tym samym serwerze nie wystarczy.
Kopiowanie plików
rsync kopiuje tylko to, co się zmieniło:
rsync -aH --delete /var/www/ backup@backup-host:/srv/backups/www/restic tworzy zaszyfrowane, zdeduplikowane kopie zapasowe w wielu lokalizacjach:
sudo apt install -y restic
restic -r sftp:backup@backup-host:/srv/restic init
restic -r sftp:backup@backup-host:/srv/restic backup /var/www /etc
restic -r sftp:backup@backup-host:/srv/restic forget --keep-daily 7 --keep-weekly 4 --pruneKopiowanie bazy danych
Skopiuj bazę za pomocą zrzutu (dump) zamiast kopiowania działających plików danych:
mysqldump --single-transaction --routines -u root wordpress | gzip > /var/backups/wordpress-$(date +%F).sql.gzDla PostgreSQL użyj pg_dump.
Automatyzacja
Uruchamiaj kopie zapasowe z cron lub timera systemd i ustaw politykę retencji, aby stare kopie były usuwane:
sudo crontab -e
# every day at 02:30
30 2 * * * /usr/local/bin/backup.shTestowanie przywracania
Kopia zapasowa, której nigdy nie przywrócono, to tylko domysł. Raz w miesiącu przywróć dane na zapasowy serwer i sprawdź, czy strona oraz dane działają. Zapisz kroki, aby każdy w zespole mógł je wykonać.
Przed dużymi zmianami
Wykonaj snapshot, wprowadź zmianę, przetestuj ją i usuń snapshot, gdy będziesz pewny. Dobrze to współgra z bezpieczną konfiguracją SSH, a ten sam nawyk pomaga przy aktualizacji witryny WordPress.
Najczęściej zadawane pytania
How often should I back up?
Daily is common for sites and databases that change often. Back up more often if losing a day of data would hurt.
Are snapshots billed?
Snapshots and backups are billed by the space they use. See the current rates on the pricing page of the service.
Where should I store backups?
Not only on the same server. Use another location or provider so one failure cannot remove every copy.