---
"@type": Article
"@id": "https://helloloam.dev/nl/principes/backups-als-momentopname"
"@source": "https://helloloam.dev/data/article/backups-as-a-snapshot.json"
"@stamp": "2026-11-03T23:08:16+00:00"
about:
  "@type": DefinedTerm
  "@id": "https://helloloam.dev/data/definedterm/backups-as-a-snapshot.json"
  name: Backups als momentopname
  identifier: backups-as-a-snapshot
  inDefinedTermSet:
    "@type": DefinedTermSet
    "@id": "https://helloloam.dev/data/definedtermset/mechanics.json"
    name: Mechaniek
    identifier: mechanics
author: {"@id":"https://helloloam.dev/#organization"}
datePublished: "2026-10-03"
description: Elk kwartier legt de site zichzelf vast in zijn eigen, privé git-spiegel. Niemand hoeft eraan te denken om op te slaan.
headline: Backups als momentopname
identifier: backups-as-a-snapshot
inLanguage: nl
publisher: {"@id":"https://helloloam.dev/#organization"}
url: "https://helloloam.dev/nl/principes/backups-als-momentopname"
---

# Backups als momentopname

[English](https://helloloam.dev/data/article/backups-as-a-snapshot.md) • [Nederlands](https://helloloam.dev/nl/data/article/backups-as-a-snapshot.md)

## Wat er nog mis kan gaan

Een loam-site is een map die op verzoek rendert. Er is [geen database die corrupt kan raken](/nl/principes/bestanden-geen-database), geen build die kan falen, geen cache die warm moet zijn.

| Gebeurtenis | Gevolg |
| --- | --- |
| **De server herstart** | De site wordt bij elk verzoek van schijf gelezen; hij is precies wat hij was. |
| **Een wijziging is slecht** | Hij blijft een concept tot hij de controle vóór publicatie doorstaat. |
| **De cache is weg** | Hij wordt opnieuw opgebouwd uit de bestanden — een gemak, nooit de waarheid. |

Wat overblijft is wat er met elke server misgaat — een schijf gaat kapot, een provider ligt eruit — of met elk mens: de verkeerde versie gepubliceerd, een nodige pagina verwijderd. Beide hebben hetzelfde antwoord: geschiedenis.

## Elk kwartier een momentopname

De hele map — content, templates, beelden en het logboek — wordt in git vastgelegd en naar een privé spiegel gepusht. Niemand hoeft eraan te denken om op te slaan, en niemand commit met de hand. Elke run legt vast of de site op dat moment zijn eigen controle doorstond, en laat één regel achter over hoe het ging, zodat een stille fout opvalt. Elke versie van elk bestand bestaat, met datum.

## Een logboek erbovenop

Git bewaart de versies; het logboek zegt wat ze betekenen. Elke wijziging krijgt een regel: wat er gedaan is in gewone taal, welke sleutel het deed, wat er geraakt werd — en wat jij vroeg, in jouw woorden, als je agent dat doorgeeft. Vraag “wat is er deze week veranderd” en je agent leest het logboek terug.

## Terugdraaien is een verzoek

Recente fouten worden opgevangen door [de conceptlaag](/nl/principes/van-concept-naar-live): een concept wordt weggegooid, een gepubliceerde pagina teruggenomen. Alles wat ouder is, is geschiedenis: “zet de prijzenpagina terug zoals hij was vóór dinsdag”, “wat stond er in juni op de homepage”, “wanneer is het telefoonnummer veranderd” — je agent haalt de oudere versie terug als nieuw concept, bekeken en gepubliceerd zoals elke wijziging. Het terugdraaien krijgt een eigen regel in het logboek. Niets wordt stilletjes herschreven.

## Herstellen is kopiëren

Een site herstellen is de map terugzetten op een server en het domein ernaar laten wijzen. Geen database om te importeren, geen migratie, geen build. De engine is generiek en staat in zijn eigen map, dus een herstel is de site plus de engine — niets wat alleen de oorspronkelijke server wist. Een site verhuizen is dezelfde handeling.

## Wat het kost

Twee dingen blijven bewust buiten de spiegel. Concepten die nooit gepubliceerd zijn, staan op de server tot ze gepubliceerd of weggegooid worden. En de formulierinbox bevat persoonsgegevens, dus die reist niet mee naar een coderepository — de eigen backup van de server dekt hem, en hoe lang hij bewaard blijft bepaal jij. De spiegel zelf moet privé blijven: hij bevat de vingerafdrukken van de sleutels.
