Shoot is a backup solution to backup files on one UNIX or UNIX alike machine and transport the files over the internet through a secure channel to another UNIX or UNIX alike machine.

This project document will explain the reasoning and motivation, as well as some history about how this project came to be.

The backup solution can be used where two UNIX or UNIX alike machines are hooked up on the internet on a 24/7 basis.

Main goals for starting this project are:

Therefore this project will be released under a GPL License.

Some goals were really easy to get away with:

And that's where our party gets started. Because the bad news is: it was more difficult then expected to fullfill all the goals above, the good news is, we managed all, and even get us some extra bonus, more on that later on.

The first version of Shoot consists of two Bourne shell scripts. One script at the so called "Backup Server" and one script for the "Backup Client". The scripts used some kind of "subsystem" to talk to each other. This "subsystem" is a file where the status of the server script is kept. The client reads this file, and based on the last server status found it will decide to fetch the backup file or not....

The role of the "server" or "client" can be confusing, but it's rather simple:

To get you confused again: both machines can play both roles.....

So:

As mentioned earlier: Shoot depends on the following tools:

The backup program itself consists of a couple Bourne Shell scripts. When we first started there where two scripts talking to each other. Soon we found out, that this process was more complicated than expected. So we added an extra bonus: more challenge to archieve the goal:

So we need to expand our "sub system". So we start to divde the process into three scripts:

This brought up a complete new difficulty:

By now we figured it all out, and started to rewrite the complete subsystem. This subsystem uses different variables, which you can read about in the errorcode_readme.txt file. These variables carry meanings that are being used by the both server scripts and the client script.

For now Shoot is developed on the Linux platform, testing is done on:

Documentation that explains how to set it up is in the Shoot document. Documentation about the technical ins and outs is in the Shoot technical document. For download, check the Shoot download.

Currently the persons involved in this project: