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 12:20] 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}} {{tag>Backup Crypt Cloud rclone}}
  
-Notes sauvegardes backup avec Restic+Notes sauvegardes backup avec Restic
  
 Restic - L’excellent outil de sauvegarde de fichiers Restic - L’excellent outil de sauvegarde de fichiers
Ligne 14: Ligne 15:
  
 Exemple avec rclone Exemple avec rclone
-<code bash>+~~~bash
 rclone serve restic --addr localhost:8889 --user foo --pass s3kr1t remote:bucket/path rclone serve restic --addr localhost:8889 --user foo --pass s3kr1t remote:bucket/path
-</code>+~~~
  
-<code bash>+~~~bash
 export RESTIC_REPOSITORY='rest:http://foo:s3kr1t@localhost:8889' export RESTIC_REPOSITORY='rest:http://foo:s3kr1t@localhost:8889'
 export RESTIC_PASSWORD=Password123 export RESTIC_PASSWORD=Password123
-</code>+~~~
  
-<code bash>+~~~bash
 restic init restic init
 restic snapshots restic snapshots
Ligne 31: Ligne 32:
 find ~/bin/ -maxdepth 1 -type f -print0 | restic backup --tag plop --files-from-raw=/dev/stdin find ~/bin/ -maxdepth 1 -type f -print0 | restic backup --tag plop --files-from-raw=/dev/stdin
 restic ls -l latest restic ls -l latest
-</code>+~~~
  
-<code bash>+~~~bash
 mkdir mnt mkdir mnt
 restic mount mnt/ & restic mount mnt/ &
 ls -l ~/mnt/snapshots/latest/ ls -l ~/mnt/snapshots/latest/
-</code>+~~~
  
-<code ->+~~~
 $ ls mnt/ $ ls mnt/
 hosts  ids  snapshots  tags hosts  ids  snapshots  tags
-</code>+~~~
  
 Maintenance Maintenance
-<code bash> +~~~bash 
-restic check+restic check --read-data
 restic prune restic prune
  
Ligne 52: Ligne 53:
 restic migrate upgrade_repo_v2 restic migrate upgrade_repo_v2
 restic migrate  restic migrate 
-</code>+~~~
  
  
  
 Remove snapshot Remove snapshot
-<code bash>+~~~bash
 restic snapshots  restic snapshots 
  
Ligne 63: Ligne 64:
  
 restic prune restic prune
-</code>+~~~
  
  
 +
 +### 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
 +~~~
  
  
tech/notes_sauvegardes_backup_avec_restic.1747736427.txt.gz · Dernière modification : de Jean-Baptiste

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki