Percona XtraBackup naar Hetzner Storage Box¶
Overzicht¶
Op de server FL09SQL002 worden de Percona XtraBackup bestanden iedere nacht gesynchroniseerd naar een Hetzner Storage Box. Dit vervangt de eerdere oplossing waarbij AWS S3 werd gebruikt als externe opslaglocatie voor de backups.
De backups op de Hetzner Storage Box kunnen worden gebruikt om bijvoorbeeld de MySQL-replicatie te herstellen op:
- FL10SQL001 — de MySQL Replica server
- De server bij Brekz in Maarssen
Configuratie¶
| Onderdeel | Waarde |
|---|---|
| Server | FL09SQL002 |
| User | brekz |
| Bron directory | /home/brekz/backups/XTRABACKUP/ |
| Doel | backup: (Hetzner Storage Box) |
| Logbestand | /var/log/rsync-hetzner-backup.log |
| Schema | Dagelijks om 05:00 uur |
Cronjob¶
De volgende cronjob draait dagelijks om 05:00 uur op FL09SQL002:
0 5 * * * rsync -avz --delete --exclude='encryption_key' --exclude='.ssh/' --exclude='.hsh_history' --exclude='.bash_history' --progress "/home/brekz/backups/XTRABACKUP/" backup: >> /var/log/rsync-hetzner-backup.log
Toelichting rsync opties¶
| Optie | Beschrijving |
|---|---|
-avz |
Archive mode, verbose, met compressie |
--delete |
Verwijdert bestanden op de Storage Box die lokaal niet meer bestaan |
--exclude='encryption_key' |
Sluit de encryption key uit van synchronisatie |
--exclude='.ssh/' |
Sluit de .ssh directory uit |
--exclude='.hsh_history' / '.bash_history' |
Sluit shell history bestanden uit |
--progress |
Toont voortgang tijdens synchronisatie |
backup: |
SSH-alias voor de Hetzner Storage Box |
Hetzner Storage Box inloggegevens
De inloggegevens van de Hetzner Storage Box zijn beschikbaar in 1Password onder de titel: Hetzner - Storage box BX11 Brekz (FTP) BX11 #384620
Encryption key
De encryption_key wordt bewust niet meegesynchroniseerd naar de Hetzner Storage Box. Zorg ervoor dat deze key apart en veilig wordt bewaard.
Vorige situatie¶
Voorheen werden de Percona XtraBackup bestanden naar AWS S3 gekopieerd. Deze methode is vervangen door de huidige rsync-synchronisatie naar de Hetzner Storage Box.
MySQL Backup Downloaden¶
Op de MySQL Replica server FL10SQL001 staat een bash script waarmee eenvoudig de meest recente Xtrabackup kan worden gedownload.
| Server | FL10SQL001 |
| Pad | ~/backups/XTRABACKUP |
| Script | download-latest-backup.sh |
cd ~/backups/XTRABACKUP
./download-latest-backup.sh
SSH verbinding naar Hetzner Storage Box
Het script maakt gebruik van een SSH verbinding naar de Hetzner Storage Box via de SSH alias backup. Deze alias is geconfigureerd in ~/.ssh/config op FL10SQL001.