mit diesem Artikel https://wiki.ubuntuusers.de/FAQ_Btrfs-Dateisystem/ (Abschnitt "Backup und Relay") aus dem Ubuntuusers-Wiki habe ich einen wöchentlichen cronjob angelegt:
Code: Alles auswählen
#!/bin/sh -e
snap_root () {
[ -d /mnt/r$datum ] && return
[ -d /mnt/r* ] && btrfs sub del /mnt/r* >/dev/null
btrfs sub snap /mnt/@ /mnt/r$datum >/dev/null
echo "snapshot r$datum angelegt" >> /home/.snapshot.log
}
file_system=btrfs
root_device=$(sed -n "/\/ $file_system /s|^\(.*\) / $file_system .*|\1|p" /proc/mounts)
root_uuid=$(blkid -t TYPE=$file_system -o value -s UUID "$root_device") >/dev/null
[ "x$root_uuid" = "x" ] && exit # kein passendes Btrfs gefunden
datum=$(date "+%Y-%W") # für wöchentlich, alternativ für monatlich -> "+%Y-%m"
[ `tail -n 1 /home/.snapshot.log | cut -d ' ' -f 2` = "r$datum" ] && exit; # Eintrag ist schon aktuell
echo "Überprüfung am `date +%d.%m.%Y`:" > /home/.snapshot.log
mount -o compress "UUID=$root_uuid" /mnt >/dev/null
[ -d /mnt/@ ] && snap_root
umount /mnt
Code: Alles auswählen
ID 539 gen 80850 parent 5 top level 5 path r2021-46
Wo mache ich den Fehler? Ich bin bei btrfs und dieser Funktion noch ziemlich unbeholfen.
Gruß, Piotrusch