{{tag>Backup Crypt Cloud rclone}} # Notes sauvegardes backup avec Restic Restic - L’excellent outil de sauvegarde de fichiers Voir : https://restic.net/ Voir aussi : * Rclone * Les outils de sauvegrade en mode block tel que [[Notes bup|Bup]] * Kopia.io Exemple avec rclone ~~~bash rclone serve restic --addr localhost:8889 --user foo --pass s3kr1t remote:bucket/path ~~~ ~~~bash export RESTIC_REPOSITORY='rest:http://foo:s3kr1t@localhost:8889' export RESTIC_PASSWORD=Password123 ~~~ ~~~bash restic init restic snapshots restic stats restic find --tag Plop '*' restic backup /data/ find ~/bin/ -maxdepth 1 -type f -print0 | restic backup --tag plop --files-from-raw=/dev/stdin restic ls -l latest ~~~ ~~~bash mkdir mnt restic mount mnt/ & ls -l ~/mnt/snapshots/latest/ ~~~ ~~~ $ ls mnt/ hosts ids snapshots tags ~~~ Maintenance ~~~bash restic check --read-data restic prune restic migrate restic migrate upgrade_repo_v2 restic migrate ~~~ Remove snapshot ~~~bash restic snapshots restic forget 5bb4af18 restic prune ~~~ ### Tailles des snapshots A partir de la version 0.17 ~~~bash restic snapshots --json add5377d | jq ~~~ Sinon ~~~ # Affiche la taille restant après effacement $ restic forget --dry-run --prune add5377d | grep remaining remaining: 98347 blobs / 8.590 GiB unused size after prune: 0 B (0.00% of remaining size) $ restic stats add5377d | grep -i size Stats in restore-size mode: Total Size: 31.640 GiB $ restic stats --mode raw-data add5377d | grep -i size Total Uncompressed Size: 9.152 GiB Total Size: 8.235 GiB $ rclone size e_nas: Total objects: 589 (589) Total size: 8.598 GiB (9232005166 Byte) $ rclone size NAS_FTP:home/Backup/ Total objects: 589 (589) Total size: 8.600 GiB (9234283006 Byte) ~~~ ~~~ $ restic forget --dry-run --prune $(restic snapshots --tag blob | awk '/DATA$/ {print $1}') | grep remaining remaining: 87662 blobs / 417.746 MiB unused size after prune: 0 B (0.00% of remaining size) ~~~ Diff entre deux snapshots ~~~bash restic snapshots --latest 2 --tag blob | grep /Work$ restic diff -v f462cfae a230e52f ~~~ Différences de tailles entre deux snapshots ~~~ $ restic diff f462cfae a230e52f | egrep "Added|Removed" Added: 0 B Removed: 0 B ~~~ ----------- ''bin/backup.sh'' ~~~bash #! /bin/bash set -euo pipefail # export RESTIC_REPOSITORY='rest:http://localhost:8889' # export RESTIC_PASSWORD=P@ssw0rd # shellcheck source=/home/management/.backup.env source ~/.backup.env do_rclone_listen() { rclone serve restic --addr localhost:8889 e_nas:/restic1 } do_backup() { restic backup --tag code ~/code/ restic backup --tag code ~/*.env restic backup --tag blob ~/Work/ restic backup --tag tools ~/go/bin/ restic backup --exclude='tmp/' --tag blob /mnt/c/DATA/ find ~/bin/ -maxdepth 1 -type f -print0 | restic backup --tag script --files-from-raw=/dev/stdin } do_post_backup() { restic prune } main() { do_rclone_listen & sleep 1 do_backup do_post_backup killall rclone echo OK } main ~~~