Kennisbank automatische backups instellen op linux
gemiddeld 01 June 2026

automatische backups instellen op linux

Automatische back-ups instellen op LinuxDit artikel legt uit hoe je automatische back-ups op Linux configureert met `rsync` en `cron` — de stabielste en
Automatische Backups Instellen Op Linux
✦ ✦ ✦

Automatische Backups Instellen Op Linux

HistorieCheck Redactie  ·  01 June 2026  ·  Geschiedenis

Automatische back-ups instellen op Linux

Dit artikel legt uit hoe je automatische back-ups op Linux configureert met `rsync` en `cron` — de stabielste en controleerbaarste methode voor servers en werkstations.

Vereisten

- Linux-distributie met `rsync` (3.x) en `cronie` (1.7.x) of `systemd` (250+) - Root- of sudo-toegang - Externe opslag (SSH-server, USB-schijf of NFS-mount) — de back-up moet buiten het bronsysteem worden opgeslagen - Lees- en schrijfrechten op het doelpad

Stappen

1. Controleer of rsync en cron beschikbaar zijn

```bash rsync --version | head -1 cron -V 2>/dev/null || systemctl --version | head -1 ```

Als `rsync` ontbreekt, installeer het dan: ```bash sudo apt install rsync Debian/Ubuntu sudo dnf install rsync Fedora/RHEL ```

2. Maak een back-up script aan

Maak een script dat `rsync` aanroept met incrementele logica. Dit voorbeeld synchroniseert `/home` naar een externe schijf op `/mnt/backup` en houdt 7 dagelijkse snapshots via `--link-dest`.

```bash sudo nano /usr/local/bin/backup-home.sh ```

Plaats deze inhoud: ```bash #!/bin/bash SOURCE="/home" DEST="/mnt/backup/home" DATE=$(date +%Y-%m-%d) LATEST="$DEST/latest" SNAPSHOT="$DEST/$DATE"

mkdir -p "$DEST"

Alleen rsync-uitvoer bij fouten rsync -a --delete --link-dest="$LATEST" "$SOURCE" "$SNAPSHOT" 2>&1 | tee /var/log/backup.log

Update latest symlink rm -f "$LATEST" ln -s "$SNAPSHOT" "$LATEST" ```

Sla op en maak uitvoerbaar: ```bash sudo chmod +x /usr/local/bin/backup-home.sh ```

3. Test het script handmatig

Voer het script uit om te controleren of de paden kloppen: ```bash sudo /usr/local/bin/backup-home.sh ```

Controleer de logfile: ```bash cat /var/log/backup.log ```

4. Voeg een cron-taak toe

Open de crontab voor root (back-ups vereisen systeemrechten): ```bash sudo crontab -e ```

Voeg deze regel toe voor een dagelijkse back-up om 02:00: ```cron 0 2 * /usr/local/bin/backup-home.sh ```

Sla op en sluit. De output verschijnt in `/var/log/backup.log`.

5. Optioneel: gebruik systemd timer in plaats van cron

Als je systemd verkiest, maak dan een service-unit aan: ```bash sudo nano /etc/systemd/system/backup-home.service ```

Inhoud: ```ini [Unit] Description=Home directory backup

[Service] Type=oneshot ExecStart=/usr/local/bin/backup-home.sh ```

En een timer-unit: ```bash sudo nano /etc/systemd/system/backup-home.timer ```

```ini [Unit] Description=Run backup-home daily

[Timer] OnCalendar=daily Persistent=true

[Install] WantedBy=timers.target ```

Activeer de timer: ```bash sudo systemctl daemon-reload sudo systemctl enable --now backup-home.timer ```

6. Configureer retentie

Beperk het aantal snapshots om schijf vol te voorkomen. Voeg onderstaande regels toe aan het script, net voor de `rsync`-regel: ```bash Verwijder snapshots ouder dan 7 dagen find "$DEST" -maxdepth 1 -type d -mtime +7 -exec rm -rf {} \; ```

Gebruik `-mtime +30` voor 30 dagen retentie.

7. Stel monitoring in

Log altijd fouten. Voeg notificatie toe voor mislukte runs: ```bash if [ $? -ne 0 ]; then echo "Backup failed on $(date)" | sudo tee -a /var/log/backup-fail.log fi ```

Voor e-mailmeldingen: installeer `mailx` en voeg `mail -s "Backup fail" user@example.com` toe.

Verificatie

Controleer of de back-up correct is uitgevoerd:

```bash ls /mnt/backup/home/ cat /var/log/backup.log | tail -5 ```

Voer een proefrestore uit naar een testmap: ```bash rsync -a /mnt/backup/home/latest/ /tmp/restore-test/ diff -rq /home /tmp/restore-test/home ```

Geen output = bestanden identiek.

Veelgestelde problemen

1. rsync faalt met "Permission denied" Oorzaak: rsync draait niet als root of het doelpad is niet beschrijfbaar. Oplossing: voer het script uit met `sudo` of voeg de gebruiker toe aan de juiste groep (`sudo usermod -aG backup user`).

2. Cron-taak wordt niet uitgevoerd Oorzaak: cronie draait niet of de crontab-syntaxis is fout. Controle: `sudo systemctl status cronie`. Test met een simpele taak: ` * touch /tmp/cron-test.txt`. Verwijder dit na testen.

3. Backup duurt te lang en overlapt met volgende run Oorzaak: bestanden overschrijden de beschikbare tijd. Oplossing: gebruik incrementele back-ups (al toegepast met `--link-dest`) of verklein de bronmap. Plan back-ups op daluren.

Een back-up die je niet test is een wens, geen herstelplan. Start met deze opzet en voer elke maand een restore uit op een testserver.

— ✦ —
← Terug naar kennisbank