restic (https://restic.net/) is somewhat above my current paygrade but nonetheless it feels largely worthy of an entry, so here goes (to the best of my skills)...
restic is compiled in Go and comes as a single executable for Windows weighing less than 10MB. It is multi-platform (all expected are mentioned and then some) and FLOSS under a BSD license.
The main restic highlights are the extensive documentation and its apparent ability for delta backups, making it an obvious stand-in for rsync in Windows.
Here's restic's (slightly edited for readability) help output:
Code:
[restic 0.17.1 compiled with go1.23.1 on windows/amd64; 2024-10-14][<https://github.com/restic/>]restic is a backup program which allows saving multiple revisions of filesand directories in an encrypted repository stored on different backends.The full documentation can be found at https://restic.readthedocs.io/.Usage: 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 init Initialize a new repository key Manage keys (passwords) list List objects in the repository ls List files in a snapshot migrate Apply migrations prune Remove unneeded data from the repository recover Recover data from the repository not referenced by snapshots repair Repair the repository restore Extract the data from a snapshot rewrite Rewrite snapshots to exclude unwanted files snapshots List all snapshots stats Scan the repository and show basic statistics tag Modify tags on snapshots unlock Remove locks other processes createdAdvanced Options: features Print list of feature flags options Print list of extended optionsAdditional Commands: generate Generate manual pages and auto-completion files (bash, fish, zsh, powershell) help Help about any command self-update Update the restic binary version Print version informationFlags: --cacert file file to load root certificates from (default: use system certificates or $RESTIC_CACERT) --cache-dir directory set the cache directory. (default: use system default cache directory) --cleanup-cache : auto remove old cache directories --compression mode compression mode (only available for repository format version 2), one of (auto|off|max) (default: $RESTIC_COMPRESSION) (default auto) -h, --help : help for restic --http-user-agent string set a http user agent for outgoing http requests --insecure-no-password use an empty password for the repository, must be passed to every restic command (insecure) --insecure-tls skip TLS certificate verification when connecting to the repository (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 rate limits downloads to a maximum rate in KiB/s. (default: unlimited) --limit-upload rate limits uploads to a maximum rate in KiB/s. (default: unlimited) --no-cache : do not use a local cache --no-extra-verify skip additional verification of data before upload (see documentation) --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) --pack-size size set target pack size in MiB, created pack files may be larger (default: $RESTIC_PACK_SIZE) --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) --retry-lock duration retry to lock the repository if it is already locked, takes a value like 5m or 2h (default: no retries) --stuck-request-timeout duration duration after which to retry stuck requests (default 5m0s) --tls-client-cert file path to a file containing PEM encoded TLS client certificate and private key (default: $RESTIC_TLS_CLIENT_CERT) -v, --verbose be verbose (specify multiple times or a level using --verbose=n, max level/times is 2)Use "restic [command] --help" for more information about a command.
Statistics: Posted by Midas — Mon Oct 14, 2024 6:36 am