restic ist ein in Go geschriebenes Backup-Tool, welches mehrere Revisionen von Dateien und Verzeichnissen in einem verschlüsselten Repository auf verschiedenen Backends speichern kann.


  • Amazon S3

  • Backblase B2

  • Google Cloud Storage

  • Local Block Storage

  • Microsoft Azure Blob Storage

  • Minio Server

  • OpenStack Swift

  • REST Server

  • SFTP

  • Wasabi



Aus dem EPEL-Repo:

dnf -y install restic

Backup-Repo erstellen:

restic --repo /path/to/myrepo init

Dateien sichern:

restic --repo /path/to/myrepo backup /path/to/files

Informationen zum und Stati über das Backup-Repo abfragen:

restic --repo /path/to/myrepo check
restic --repo /path/to/myrepo snapshots
restic --repo /path/to/myrepo stats

Wer nicht mit Klartext-Passwortdateien arbeiten möchte, verschlüsselt sich diese beispielsweise mit GPG:

restic --password-file <(gpg --decrypt ~/restic-password.gpg) ...

restic Cheat Sheet

restic is a backup program which allows saving multiple revisions of files and directories
in an encrypted repository stored on different backends.

  restic [command]

Available Commands:
  backup        Create a new backup of files and/or directories
  cache         Operate on local cache directories
  cat           Print internal objects to stdout
  check         Check the repository for errors
  copy          Copy snapshots from one repository to another
  diff          Show differences between two snapshots
  dump          Print a backed-up file to stdout
  find          Find a file, a directory or restic IDs
  forget        Remove snapshots from the repository
  generate      Generate manual pages and auto-completion files (bash, fish, zsh)
  help          Help about any command
  init          Initialize a new repository
  key           Manage keys (passwords)
  list          List objects in the repository
  ls            List files in a snapshot
  migrate       Apply migrations
  mount         Mount the repository
  prune         Remove unneeded data from the repository
  rebuild-index Build a new index
  recover       Recover data from the repository not referenced by snapshots
  restore       Extract the data from a snapshot
  self-update   Update the restic binary
  snapshots     List all snapshots
  stats         Scan the repository and show basic statistics
  tag           Modify tags on snapshots
  unlock        Remove locks other processes created
  version       Print version information

      --cacert file                file to load root certificates from (default: use system certificates)
      --cache-dir directory        set the cache directory. (default: use system default cache directory)
      --cleanup-cache              auto remove old cache directories
  -h, --help                       help for restic
      --insecure-tls               skip TLS certificate verification when connecting to the repo (insecure)
      --json                       set output mode to JSON for commands that support it
      --key-hint key               key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)
      --limit-download int         limits downloads to a maximum rate in KiB/s. (default: unlimited)
      --limit-upload int           limits uploads to a maximum rate in KiB/s. (default: unlimited)
      --no-cache                   do not use a local cache
      --no-lock                    do not lock the repository, this allows some operations on read-only repositories
  -o, --option key=value           set extended option (key=value, can be specified multiple times)
      --password-command command   shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)
  -p, --password-file file         file to read the repository password from (default: $RESTIC_PASSWORD_FILE)
  -q, --quiet                      do not output comprehensive progress report
  -r, --repo repository            repository to backup to or restore from (default: $RESTIC_REPOSITORY)
      --repository-file file       file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)
      --tls-client-cert file       path to a file containing PEM encoded TLS client certificate and private key
  -v, --verbose n                  be verbose (specify multiple times or a level using --verbose=n, max level/times is 3)

Use "restic [command] --help" for more information about a command.