darkstar62 / backup

Backup Program
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

Getting Started

To build the backup system, you presently need a recent Linux distribution, and the following libraries:

I highly recommend installing the Google command-line flags library before the logging library, and then compiling the logging library from source. The two work together, and most distributions don't compile them together, so you end up having to do things like:

$ GLOG_logtostderr=1 GLOG_vmodule=my_module=3 ./binary

rather than the much nicer:

$ ./binary --logtostderr --vmodule=my_module=3

Building

In a nutshell:

$ cd /path/to/backup.git
$ cmake . && make

Using

Presently, there's two binaries produced during the build:

The tools are located in the source tree after build:

Both support --help, but the gist of running them is like this. First, start the backend:

$ ./backend/btrfs/btrfs_backend --backend_path=/tmp/backup --logtostderr

The --backend_path is the location where actual backup data is stored; it can be anywhere. If --logtostderr is not specified, logs are stored in /tmp.

Now, the client can be used:

$ ./client/ui/cli/cli_client --backend=btrfs create_backup_set "My Backup Set"
$ ./client/ui/cli/cli_client --backend=btrfs list_backup_sets
...

Development

You can find an up-to-date design document here.

The source tree is split into several parts:

The project is using the Google C++ Style Guide as the basis for coding style.

To contribute to the project, create a fork of the repository on GitHub and do your developement. Then, submit a pull request at the project's GitHub site here to participate in a code review.