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§

pub use backend::Backend;

Modules§

backend
Transport layer for backup files.
collections
Operations on backup files.
signatures
Operations on backup signatures.
time_utils
Utilities to parse and display timestamps.

Structs§

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