BitCoop documentation


BitCoop is a P2P backup system. It is aimed at server farms that wish to backup data among themselves. In the event of a system crash, the software can be re-installed, and backups can be discovered on other peers. You can then restore a certain version of files you backed-up. The only information you need to keep on a separate CD-ROM or floppy is the encryption keys used by your backups. BitCoop features a command line client that allows remote administration of peers.

Status of this project

As of Febuary 2006, the state of this project is beta. The software works most of the time, but in some cases might fail.


Philippe Marcheseault is the author of this software. You can reach him by email.


Logical fileset
You must define at least one logical group of files called fileset. This fileset can be scheduled for backup and you can make multiple revisioned backup of this fileset. These logical fileset are defined using a regular expression on the path, or by checking the size of the file. To add files to your fileset, use the include directive, and to remove them (after they have been added with an include directive) use the exclude directive.
Revisionned backup
Each time a backup is executed, the previous backup is not ovewritten automatically. When disk space allows, the previous copies of the backup are kept. You can configure the number of revision that are kept in the bcoop.xml file.
Incremental backups
The first time a backup is made, all the files are copied to remote peers. However, each subsequent backup of the same fileset will only transfer the files that have changed since the last backup. If you delete an old backup, it will only remove the files that are no longer used by any backup versions.
Scheduled backups
To enable automatic backups, you must create a logical schedule. This schedule can fire multiple times, or only once. You can configure each fileset to be backuped by associating them with one or many schedule. Is a simillar manner, you can add multiple filesets to a single logical schedule.
Peer discovery
BitCoop exchanges peer information with other peers. You only need to have a boot peer defined in your bcoop.xml file. This can be any peer in a peer group.
Special file handling
BitCoop knows about special files such as device files, sockets and links. It will handle them properly at backup time and at restore time. Of course, this means that links are not followed when doing a backup.


BitCoop requires the jdk1.5. Ant AND scons are currently required to build.

Using bitcoop

Starting the daemon
Start the bitcoop daemon using the bin/bitcoop shell script, or start it manually with the bin/ script.
The shell CLI
The shell can be used to monitor or administer the BitCoop daemons running on any peer. You can start the shell using the bin/shell script. Type help at the prompt to get some help. Logo