Conserve copies files, directories, and (on Unix) symlinks from a local source tree, to an archive directory, and retrieves them on demand.
Conserve's guiding principles:
conserve init /backup/home.conserve
conserve backup /backup/home.conserve ~
conserve restore /backup/home.conserve /tmp/trial-restore
Conserve archives retain all previous versions of backups, stored in
bands. Bands are identified a string of integers starting with b
,
like b0000
:
$ conserve versions /backup/home.conserve
b0000 2012-12-02T16:24:33 conservetesthost.local
b0001 2012-12-02T16:24:45 conservetesthost.local
ls
shows all the files in a band, including the
time they were made and the host from which they were made.
Like all commands that read a band from an archive, it operates
on the most recent by default.
Conserve runs on Linux, OS X, Windows, and probably other systems that support Rust.
To build Conserve you need Rust and a C compiler that can be used by Rust. Then run
cargo build
Conserve is still in a pre-1.0 alpha. It can be used to make and restore backups, but there are some important performance and functional limitations, which will be fixed before 1.0.
validate
command is not implemented,
however a trial restore from the archive will test everything can be read.conserve diff
is also not implemented, but can be simulated by restoring to
a temporary directory and comparing that to the source.conserve purge
command to trim the backup archive is not implemented,
but the b0123
band directories can be deleted directly.Prior to 1.0, data formats may change on each minor version number change (0.x): you should restore using the same version that you used to make the backup.
For a longer list see the issue tracker and milestones.
Copyright 2012-2016 Martin Pool, mbp@sourcefrog.net.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
Conserve's homepage is: http://conserve.fyi/ and you can talk to me in Gitter.