Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch from duplicity to restic for backups #257

Merged
merged 5 commits into from
Jan 27, 2024
Merged

Switch from duplicity to restic for backups #257

merged 5 commits into from
Jan 27, 2024

Conversation

barrucadu
Copy link
Owner

restic is a deduplicating backup tool: each new snapshot directly
references unchanged blocks in previous snapshots. It eliminates the
traditional distinction between full and incremental backups, where each
incremental backup is essentially a diff - and restoring data requires
fetching the last full backup and then playing all the increments onto
it.

It's also encrypted and compressed, making it more or less a strict
improvement on my existing duplicity-based backup solution.

Unfortunately, restic doesn't support cold storage, as it needs to be
able to read arbitrarily old blocks when restoring a snapshot. This
means I can't use AWS Glacier any more; I've decided to move to
Backblaze B2. However, duplicity doesn't really support cold storage
either, I've just never had need to restore a backup sufficiently old
that it had been rotated into cold storage; and if I ever did I'd have
to manually transfer it into hot storage (which I don't know how to
do)...

So, the amount of "hot" data will go up. This could increase cloud
spend, however B2's hot storage is cheaper than S3's, and also the total
amount of data should be far lower due to the deduplication. So we'll
see.

restic is a deduplicating backup tool: each new snapshot directly
references unchanged blocks in previous snapshots.  It eliminates the
traditional distinction between full and incremental backups, where each
incremental backup is essentially a diff - and restoring data requires
fetching the last full backup and then playing all the increments onto
it.

It's also encrypted and compressed, making it more or less a strict
improvement on my existing duplicity-based backup solution.

Unfortunately, restic doesn't support cold storage, as it needs to be
able to read arbitrarily old blocks when restoring a snapshot.  This
means I can't use AWS Glacier any more; I've decided to move to
Backblaze B2.  However, duplicity doesn't really support cold storage
either, I've just never had need to restore a backup sufficiently old
that it had been rotated into cold storage; and if I ever did I'd have
to manually transfer it into hot storage (which I don't know how to
do)...

So, the amount of "hot" data will go up.  This could increase cloud
spend, however B2's hot storage is cheaper than S3's, and also the total
amount of data should be far lower due to the deduplication.  So we'll
see.
This will flag any metadata corruption in the repository.
@barrucadu barrucadu merged commit 98f7c5a into master Jan 27, 2024
2 checks passed
@barrucadu barrucadu deleted the restic branch January 27, 2024 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant