Ga naar inhoud
CursussenLinuxHoofdstuk 12

Hoofdstuk 12 van 12 · Serverbeheer

Back-up en herstel

4 lesuren

De GreenLeaf-website bevat belangrijke gegevens. In dit afsluitende hoofdstuk maak je back-ups, test je herstel en bepaal je hoe je een server na gegevensverlies weer operationeel krijgt.

Na dit hoofdstuk kun je

  • Verschillende back-upsoorten en opslaglocaties vergelijken.
  • Met tar en rsync een bestandsback-up maken.
  • Een bestand gecontroleerd terugzetten en testen.
  • Een periodieke back-uptaak opzetten en de beperkingen kennen.

Wat is een goede back-up?

Een back-up is een afzonderlijke reservekopie waarmee je gegevens na verwijdering, schade of ransomware kunt herstellen. Een VM-snapshot is handig voor korte laborexperimenten, maar is geen volledige back-upstrategie.

Een volledige back-up bevat alle geselecteerde bestanden. Een incrementele back-up bevat alleen wijzigingen sinds een eerdere back-up. Een lokale kopie is gemakkelijk maar kwetsbaar als de complete server verloren gaat.

  • 3-2-1-principe: drie kopieën, op twee verschillende media, waarvan één elders.
  • RPO: hoeveel recent gegevensverlies maximaal acceptabel is.
  • RTO: hoe snel een dienst weer beschikbaar moet zijn.
  • Hersteltest: bewijs dat je een reservekopie daadwerkelijk kunt terugzetten.

Controleer eerst de back-upschijf

In hoofdstuk 9 heb je een extra partitie als /back aangekoppeld. Controleer eerst dat dit daadwerkelijk de tweede schijf is. Anders sla je de kopie mogelijk op de systeemschijf op.

Controleer het mountpoint
findmnt /back
df -h /back
Maak een aparte map voor websitebestanden
sudo mkdir -p /back/website

Back-up met rsync

rsync vergelijkt bestanden en kopieert alleen verschillen. De slash aan het einde van de bronmap is belangrijk: daarmee kopieer je de inhoud naar de doelmap.

Installeer rsync indien nodig
sudo apt install rsync
Maak een bestandsback-up
sudo rsync -av /var/www/greenleaf/ /back/website/
Controleer de back-upbestanden
sudo ls -la /back/website | head
Bekijk wijzigingen zonder ze uit te voeren
sudo rsync -avn /var/www/greenleaf/ /back/website/

Gecomprimeerd archief met tar

tar maakt van meerdere bestanden één archief. Met -z wordt gzip-compressie gebruikt. Dit maakt het handig om een archief naar een andere opslaglocatie te verplaatsen.

Maak een gecomprimeerd websitearchief
sudo tar -czf /back/greenleaf-web-$(date +%F).tar.gz -C /var/www greenleaf
Bekijk de archiefinhoud
sudo tar -tzf /back/greenleaf-web-$(date +%F).tar.gz | head
Controleer archiefgrootte
sudo ls -lh /back/*.tar.gz

Belangrijk: ook de database back-uppen

Een WordPress-back-up is pas compleet wanneer je zowel de bestanden als de database bewaart. In de webmap staan thema’s, plugins en uploads; in MariaDB staan pagina’s, instellingen en gebruikers.

Maak een database-export naar /back (lokaal lab)
sudo sh -c "umask 077; mariadb-dump greenleaf_wp > /back/greenleaf-db.sql"
Controleer of de export bestaat
sudo ls -lh /back/greenleaf-db.sql

Een hersteltest uitvoeren

Voor een volledige WordPress-hersteltest zet je de database-export in een afzonderlijke testdatabase terug en verbind je een testsite aan deze database. Doe dit niet blind op de live database.

Maak een geïsoleerde herstelmap
sudo mkdir -p /tmp/greenleaf-restore
Herstel de bestanden naar de testmap
sudo rsync -av /back/website/ /tmp/greenleaf-restore/
Vergelijk bestanden zonder wijzigingen
sudo diff -qr /var/www/greenleaf /tmp/greenleaf-restore
Controleer een tar-archief
sudo tar -tzf /back/greenleaf-web-$(date +%F).tar.gz | head

Dagelijks automatisch back-uppen

Met cron kan iedere avond een back-up worden gestart. Gebruik bij voorkeur een eigen script, zodat je foutafhandeling, logging en controle centraal kunt beheren.

Open de root-crontab voor opslagback-ups
sudo crontab -e
Voorbeeld: elke avond om 22:00 uur
0 22 * * * /usr/bin/rsync -a /var/www/greenleaf/ /back/website/ >> /var/log/greenleaf-backup.log 2>&1
Controleer de root-crontab
sudo crontab -l

Eindcontrole van het leertraject

Je hebt nu een Linux Mint-werkstation en een Ubuntu Server geïnstalleerd, gebruikers en rechten beheerd, opslag en firewall ingericht, een website gehost, monitoring opgezet en een herstelprocedure uitgevoerd.

Leg in je eindlogboek vast welke diensten actief zijn, hoe ze worden bijgewerkt, hoe je fouten onderzoekt en hoe je back-ups terugzet. Hiermee heb je de basis gelegd voor zelfstandig Linux-serverbeheer.

Praktijkopdracht

Eindopdracht: herstel GreenLeaf na gegevensverlies

Simuleer gegevensverlies in een veilige, niet-productieomgeving en bewijs dat herstel werkt.

  1. Controleer dat /back echt op de extra schijf staat.
  2. Maak een testbestand in de GreenLeaf-website en daarna een rsync-back-up en tar-archief.
  3. Exporteer de MariaDB-database van de oefenwebsite.
  4. Verwijder uitsluitend het speciaal aangemaakte testbestand en zet dit terug uit /back/website.
  5. Controleer met diff of de herstelkopie overeenkomt met de bron.
  6. Maak een tijdelijke cronregel, test die en verwijder hem weer.
  7. Schrijf een kort herstelplan met RPO, RTO, controlemaatregelen en externe back-uplocatie.

Bewijs voor je logboek: Overzicht van back-upbestanden, database-export, geslaagde hersteltest, logbestand en kort herstelplan.

Controleer je kennis

  1. Waarom is een snapshot geen vervanging voor een back-up?
  2. Welke twee onderdelen zijn nodig voor een volledige WordPress-back-up?
  3. Wat betekent het 3-2-1-principe?
  4. Hoe bewijs je dat een back-up echt bruikbaar is?

Begrippen

Back-up
Reservekopie van gegevens.
Rsync
Tool voor bestandssynchronisatie.
tar
Archiveringsprogramma.
Restore
Gegevens vanuit een back-up terugzetten.
RPO
Maximaal acceptabel gegevensverlies in tijd.
RTO
Maximaal acceptabele hersteltijd.

Hoofdstuk afgerond?

Voer eerst de praktijkopdracht uit en sla je bewijs op in je eigen logboek.