Hoe kan ik automatische backups van mijn Server naar mijn Archive Volume inregelen met rdiff-backup?

  Objects & Archive

** Let op! Deze handleiding gaat uit van een nieuwe Ubuntu of Debian installatie. Wanneer u extra software op uw server heeft geinstalleerd kan dit wijzigingen in de werkwijze of configuratie vereisen. **

Installatie

Installeer rdiff-backup met het volgende commando:

sudo apt-get install rdiff-backup

Configuratie

  1. Maak een user aan om de backups onder te draaien:
groupadd -g 3500 rdiff-backup
useradd -u 3500 -s /bin/false -d /backup -m -c "rdiff-backup" -g rdiff-backup rdiff-backup

Het tweede commando maakt een user ‘rdiff-backup’ aan, met een home directory /backup. Deze user kan -uit veiligheidsoverwegingen- niet inloggen op de shell. Als het group ID en user ID 3500 reeds in gebruik zijn op uw systeem kan u deze wijzigen naar een ander (vrij) ID.

  1. Schakel over naar de zojuist aangemaakte user rdiff-backup
su -m rdiff-backup

Alle nakomende commando’s dient u uit te voeren als de user rdiff-backup!

  1. Genereer SSH keys voor de user rdiff-backup:
cd /backup && ssh-keygen -t rsa

U kan deze key opslaan in /backup/.ssh/id_rsa; u kan dus gewoon op enter drukken. Tevens is het van belang dat u geen passphrase insteld, daar de backup anders niet zal werken zonder deze passphrase in te moeten geven.

  1. Maak de file /backup/.ssh/config aan met de volgende inhoud:
host backup_naar_aurora_mammoth
hostname <HOSTNAME>
user <USERNAME>
identityfile /backup/.ssh/id_rsa
compression yes
cipher blowfish
protocol 2

Wijzig naar de gebruikersnaam van uw Aurora Volume, en naar de hostname. Een uitleg over hoe u deze informatie kan vinden vindt u hier.

De host wordt straks gebruikt om de backup te starten. U kan deze naar wens wijzigen, zolang u maar geen spaties gebruikt.

  1. Wijzig de permissies van de file /backup/.ssh/config:
chmod -R go-rwx /backup/.ssh
  1. Kopieer uw SSH public key naar uw Mammoth Volume:
ssh-copy-id -i ~/.ssh/id_rsa.pub <USERNAME>@<HOSTNAME>

Nadat u op ‘Enter’ heeft gedrukt zal u (eenmalig) gevraagd worden het wachtwoord van uw Mammoth Volume in te geven.

  1. Log in op uw Aurora Mammoth volume via SSH, en voeg de volgende tekst toe aan de file /root/.ssh/authorized_keys:
command="rdiff-backup --server --restrict-read-only /",from="<IP ADRES SERVER>",no-port-forwarding,no-X11-forwarding,no-pty

Deze regel dient u voor de key van de rdiff-backup user plaatsen, op dezelfde regel. Er dient enkel een spatie tussen bovenstaande tekst en de key te staan:

command="rdiff-backup --server /",from="<IP ADRES SERVER>",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa DSe34kljD[...]W334dwWE= rdiff-backup@server

Vervang hierbij voor het ip adres van uw Aurora VM.

  1. Zorg dat de .ssh file de juiste rechten heeft:
chmod -R go-rwx ~/.ssh
  1. Log uit van uw Aurora Mammoth Volume en log terug in op de server welke u wenst te backuppen als de user rdiff-backup. Test vervolgens of de backup functionaliteit werkt:
cd /backup
rdiff-backup backup_naar_aurora_mammoth::/boot boot

Wanneer u ziet dat de backup werkt en u hoeft geen wachtwoord in te geven is de installatie en configuratie geslaagd.
U hoeft nu alleen nog een cronjob in te geven om de backup periodiek automatisch te laten verlopen:

0 0 * * * /usr/bin/rdiff-backup --exclude /tmp --exclude /mnt backup_naar_aurora_mammoth::/ /backup

Deze cronjob zal elke nacht om 00:00 uur een backup maken van de / folder met alle subfolders, met uitzondering van /tmp en /mnt.