Outils pour utilisateurs

Outils du site


tech:notes_sauvegardes_backup_avec_restic

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tech:notes_sauvegardes_backup_avec_restic [2025/05/20 16:05] Jean-Baptistetech:notes_sauvegardes_backup_avec_restic [2025/12/04 18:19] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{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
 +~~~
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki