Crate ruplicity

source ·
Expand description

A library for reading duplicity backups.

This library provides utilities to manage duplicity backups 1. Backup files could be prensent in the local file system, or can be accessed remotely, provided that the right backend is implemented. This is a rust version of the original duplicity project, that is written in Python. The goal is to provide a library to be used for different purposes (e.g. a command line utility, a fusion filesystem, etc.) and to improve overall performances. Compatibility with the original duplicity backup format is guaranteed.

Example

In this example we open a directory containing a backup, and print informations about the files in all the snapshots.

use ruplicity::Backup;
use ruplicity::backend::local::LocalBackend;
use ruplicity::time_utils::TimeDisplay;

// use the local backend to open a path in the file system containing a backup
let backend = LocalBackend::new("tests/backups/single_vol");
let backup = Backup::new(backend).unwrap();
for snapshot in backup.snapshots().unwrap() {
    println!("Snapshot {}", snapshot.time().into_local_display());
    println!("{}", snapshot.entries().unwrap());
}

Re-exports

Modules

Structs

  • A top level representation of a duplicity backup.
  • A snapshot in a backup.
  • Contains the files present in a certain backup snapshot.
  • An iterator over the snapshots in a backup.