duplicity
Create incremental, compressed, encrypted and versioned backups.
Can also upload the backups to a variety of backend services.
It is worth mentioning that depending on the version, some options may not be available (e.g. --gio
in 2.0.0).
More information: https://duplicity.gitlab.io.
- Backup a directory via FTPS to a remote machine, encrypting it with a password:
FTP_PASSWORD=
ftp_login_password PASSPHRASE=
encryption_password duplicity
path/to/source/directory
ftps://user@hostname/target/directory/path/
- Backup a directory to Amazon S3, doing a full backup every month:
duplicity --full-if-older-than
1M s3://
bucket_name[/prefix]
- Delete versions older than 1 year from a backup stored on a WebDAV share:
FTP_PASSWORD=
webdav_login_password duplicity remove-older-than
1Y --force
webdav[s]://user@hostname[:port]/some_dir
- List the available backups:
duplicity collection-status "file://
absolute/path/to/backup/directory"
- List the files in a backup stored on a remote machine, via SSH:
duplicity list-current-files --time
YYYY-MM-DD scp://
user@hostname/
path/to/backup/dir
- Restore a subdirectory from a GnuPG-encrypted local backup to a given location:
PASSPHRASE=
gpg_key_password duplicity restore --encrypt-key
gpg_key_id --path-to-restore
relative/path/restoredirectory file://
absolute/path/to/backup/directory
path/to/directory/to/restore/to