Cold storage

rustic supports to store the repository in a so-called cold storage. These are storages which are designed for long-term storage and offer usually cheap storage for the price of retarded or expensive access. Examples are Amazon S3 Glacier or OVH Cloud Archive.

To use a cold storage and not access any data in the storage for every-day operations, rustic needs an extra repository to store hot data. This repository can be specified by the hot-repo option or the RUSTIC_REPO_HOT environmental variable, e.g.:

[repository]
repository = "rclone:foo:cold-repo"
repo-hot = "rclone:foo:hot-repo"

or, as CLI-arguments

rustic -r rclone:foo:cold-repo --repo-hot rclone:foo:hot-repo init

In this example in the repository rclone:foo:cold-repo all data is saved. In the repository rclone:foo:hot-repo only hot data is saved, i.e. this is not a complete repository.

Note that you can also specify repository options individually for hot and cold repository, e.g.:

[repository]
repository = "opendal:s3"
repo-hot = "opendal:s3"

# options for both parts
[repository.options]
access_key_id = "xxx"
secret_access_key = "yyy"

# options only for hot part
[repository.options-hot]
bucket = "bucket_name_hot"
root = "/path/to/repo"

# options only cold part
[repository.options-cold]
bucket = "bucket_name_cold"
root = "/path/to/repo"
default_storage_class = "DEEP_ARCHIVE"

Warning: You have to specify both the cold repository and the hot repository in the init command and all other commands which access and work with the repository. Best, you use a config profile to set both within.

Last change: 2024-12-17, commit: cb15d19