Skip to content

Implement rdiff-backup support #59

Description

@leegarrett

https://rdiff-backup.net/ is another common backup tool. Implementing the importer might be a bit easier due to the fact that it's also written in python.

I've written a shell script that does it, however it's quite cumbersome as it requires the full extraction of a snapshot for borg to back it up, and rdiff-backup isn't very smart on restore (it restores a file even if it's unchanged).

Activity

  1. ThomasWaldmann commented on Dec 21, 2022

    @ThomasWaldmann
    Member

    I'ld guess for a simple implementation that would be also the way to go with borg-import importing such backups.

    With a lot of effort one could theoretically maybe avoid that full extractions get written to disk, but I guess that would be too much work for just single-time use (per user). It's not just the file names and content, we also would need to care for all the other metadata.

  2. PhrozenByte commented on Jun 18, 2025

    @PhrozenByte

    In case users happen to stumble over this issue, here is a rather quick & dirty script that allows one to import incremental rdiff-backup backups into Borg: https://gist.github.com/PhrozenByte/78ae546db81cbc09f71b298159c6d66d

    It also uses the approach of first extracting everything and then using that to create a Borg archive. I used this script 2,5 years ago to import some old backups, it worked just fine back then, but again: It's a quick & dirty hack and was written for my specific use case. I highly recommend creating a backup of the rdiff-backup repo (yes, a backup of backups…). If it doesn't fit one's needs, it might at least be a starting point for one's own script. Feel free to share your script(s), too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions