```
restic init
created restic repository 5d7353a0ae at /mnt/other/backup
Please note that knowledge of your password is required to access the repository. Losing your password means that your data is irrecoverably lost. ```
```
restic backup home
repository 5d7353a0 opened successfully, password is correct
Files: 88477 new, 0 changed, 0 unmodified Dirs: 0 new, 0 changed, 0 unmodified Added: 14.945 GiB
processed 88477 files, 15.891 GiB in 24:34 snapshot 056fcfc9 saved ```
du -sh backup home
16G backup 17G home
rsync --stats -xaHAX --info=progress2 --relative ${excludes:+--exclude=$^excludes} \ $bakdir/Backup_*(NP:--link-dest:[-2,-1]) $src $dest
250GB tar
restic restore -t . latest
repository 7d3bb750 opened successfully, password is correct
restoring
du -sh
50G .
rsync -rnic ../backup/Backup_2018-07-26/boot/. ../help/test/boot
Backup-Speicher als Verzeichnisbaum einbinden
Restic hat die hilfreiche Funktion, dass man ein komplettes Archiv mit restic
mount /mnt/other
in einer Verzeichnisstruktur unter /mnt/other einbinden kann
und es so mit den üblichen Programmen bearbeiten kann. Somit kann man leicht mit
diff die tatsächlichen Unterschiede zwischen Dateien zweier Backups bestimmen
oder auch mit neomutt eine gelöschte, verschlüsselte E-Mail öffnen, ohne dass
man groß Einstellungen anpassen oder händisch Dateien exportieren muss.
Damit man auch als einfacher Benutzer auf den Verzeichnisbaum zugreifen kann,
muss man die Option --allow-other
angeben.
Symlinks für ein kleineres Backup
Mit restic diff
kann man sich ansehen, welche Änderungen zwischen zwei Backups
passiert sind. Damit fällt auf, dass einige Programme Dateien im
Benutzerverzeichnis liegen haben, die sich regelmäßig ändern, aber problemlos
aus anderen Quellen wiederhergestellt werden können. Deshalb habe ich für diese
Stellen Symlinks an einen passenden Ort erstellt, meist ~/.cache was nicht in
die Datensicherung eingeht.
cargo
% mkdir .cache/cargo
% mv .cargo/bin .cargo/git .cargo/registry .cache/cargo
% ln -s ~/.cache/cargo/* .cargo
ccache
% mv .ccache .cache/ccache
% ln -s .cache/ccache .ccache
neomutt
% mkdir .cache/neomutt
% cat <<__EOF >> .config/neomutt/neomuttrc
set header_cache=~/.cache/neomutt
set message_cachedir=~/.cache/neomutt
__EOF
npm
% mv .npm .cache/npm
% ln -s .cache/npm .npm
rustup
% mkdir .cache/rustup
% mv .rustup/downloads .rustup/tmp .rustup/toolchains .rustup/update-hashes .cache/rustup
% ln -s ~/.cache/rustup/* .rustup