RESTIC-DIFF(1)

πŸ’– restic-diff(1) β€” the "what even changed between these two snapshots" page πŸ’–

okay bestie, welcome to the restic backup(1) manual family (yes that's the manual name, don't ask, it's giving shared-household energy 🏠). This page is all about restic diff, and honestly? She's a baddie. Let's get into it.


✨ NAME ✨

restic-diff β€” show differences between two snapshots πŸ¦‹


🌸 SYNOPSIS 🌸

restic diff [flags] snapshotID snapshotID

Two snapshot IDs. That's it. That's the whole vibe. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

So the diff command shows you the differences going from the first snapshot to the second one. Direction matters, babes, she's not symmetric. β¬…οΈβž‘οΈ

The first characters in each line tell you what happened to a particular file or directory:

  • + β€” the item was added ✨
  • - β€” the item was removed πŸ’€
  • U β€” the metadata (access mode, timestamps, ...) for the item was updated πŸ’…
  • M β€” the file's content was modified πŸ”₯
  • T β€” the type was changed, e.g. a file was made a symlink πŸ¦‹
  • ? β€” bitrot detected: the file's content has changed but all metadata is the same 😭
ngl, metadata comparison will likely not work if a backup was created using the --ignore-inode or --ignore-ctime option. Just so you know. no cap. πŸ™ˆ

And if you only wanna compare files in specific subfolders? Iconic behavior, you can use the snapshotID:subfolder syntax, where subfolder is a path within the snapshot tree as shown by restic ls. Subfolder girlies stay winning. πŸŽ€


πŸ”₯ EXIT STATUS πŸ”₯

  • 0 β€” the command was successful, slay πŸ’–
  • 1 β€” there was any error 😭
  • 10 β€” the repository does not exist
  • 11 β€” the repository is already locked πŸ”’
  • 12 β€” the password is incorrect πŸ™ˆ

πŸ’… OPTIONS πŸ’…

  • -h, --help[=false] β€” help for diff
  • --metadata[=false] β€” print changes in metadata πŸ‘‘

🌈 OPTIONS INHERITED FROM PARENT COMMANDS 🌈

these are the family heirlooms, passed down from the parent command, and they are all iconic in their own way:

  • --cacert=[] β€” file to load root certificates from (default: use system certificates or $RESTIC_CACERT)
  • --cache-dir="" β€” set the cache directory. (default: use system default cache directory)
  • --cleanup-cache[=false] β€” auto remove old cache directories 🧹
  • --compression=auto β€” compression mode (only available for repository format version 2), one of (auto|off|fastest|better|max) (default: $RESTIC_COMPRESSION)
  • --http-user-agent="" β€” set a http user agent for outgoing http requests
  • --insecure-no-password[=false] β€” use an empty password for the repository, must be passed to every restic command (insecure) ⚠️
  • --insecure-tls[=false] β€” skip TLS certificate verification when connecting to the repository (insecure) ⚠️
  • --json[=false] β€” set output mode to JSON for commands that support it
  • --key-hint="" β€” key ID of key to try decrypting first (default: $RESTIC_KEY_HINT)
  • --limit-download=0 β€” limits downloads to a maximum rate in KiB/s. (default: unlimited)
  • --limit-upload=0 β€” limits uploads to a maximum rate in KiB/s. (default: unlimited)
  • --no-cache[=false] β€” do not use a local cache
  • --no-extra-verify[=false] β€” skip additional verification of data before upload (see documentation)
  • --no-lock[=false] β€” do not lock the repository, this allows some operations on read-only repositories
  • -o, --option=[] β€” set extended option (key=value, can be specified multiple times)
  • --pack-size=0 β€” set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE)
  • --password-command="" β€” shell command to obtain the repository password from (default: $RESTIC_PASSWORD_COMMAND)
  • -p, --password-file="" β€” file to read the repository password from (default: $RESTIC_PASSWORD_FILE)
  • -q, --quiet[=false] β€” do not output comprehensive progress report 🀫
  • -r, --repo="" β€” repository to backup to or restore from (default: $RESTIC_REPOSITORY)
  • --repository-file="" β€” file to read the repository location from (default: $RESTIC_REPOSITORY_FILE)
  • --retry-lock=0s β€” retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries)
  • --stuck-request-timeout=5m0s β€” duration after which to retry stuck requests
  • --tls-client-cert="" β€” path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT)
  • -v, --verbose[=0] β€” be verbose (specify multiple times or a level using --verbose=n, max level/times is 2) πŸ—£οΈ

🫢 SEE ALSO 🫢


and that's the whole page, bestie!! this one was generated by restic generate, dated Jan 2017, and it lives inside the restic backup(1) manual. go forth and diff your little heart out. πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from