← retour aux snippets

btrfs: snapshots et send/receive

Créer des snapshots en lecture seule et les transférer de façon incrémentale vers un autre disque/serveur.

bash filesystem #btrfs#snapshot#backup

objectif

Sauvegarder rapidement un sous-volume via snapshots et envoi incrémental.

code minimal

# snapshot ro
sudo btrfs subvolume snapshot -r /data /data/.snapshots/$(date +%F)

utilisation

# envoi initial
sudo btrfs send /data/.snapshots/2025-08-16 | ssh backup 'btrfs receive /backup/data'

# envoi incrémental depuis une base
sudo btrfs send -p /data/.snapshots/2025-08-16 /data/.snapshots/2025-08-16-2 | ssh backup 'btrfs receive /backup/data'

variante(s) utile(s)

# lister les snapshots
sudo btrfs subvolume list -o /data | awk '{print $9}'

notes

  • nécessite un FS btrfs; vérifiez l’espace libre avant l’envoi.
  • les snapshots ro sont cohérents instantanément (copy-on-write).