public
Description: A reliable rsync based backup system, simple to configure, simple to run, simple to restore data
Homepage: http://www.raisin.de/rabak
Clone URL: git://github.com/steppicrew/rabak.git
rabak /
name age message
file CHANGELOG Wed Apr 16 13:11:02 -0700 2008 updated CHANGELOG [dr-berlin]
directory GraphViz/ Thu Apr 10 01:11:58 -0700 2008 rabak: parameter -q means really quiet to stdout [steppicrew]
file LICENSE Mon Apr 14 01:08:50 -0700 2008 changed license [steppicrew]
file MANIFEST Wed Apr 16 16:00:25 -0700 2008 preparing for release 1.0_rc2 [lucy dev]
file Makefile.PL Wed Apr 16 16:00:25 -0700 2008 preparing for release 1.0_rc2 [lucy dev]
file README Sun Jun 22 13:44:35 -0700 2008 - Refactored DupMerge, untangled from InodeCache. [dr-berlin]
directory RabakLib/ Wed Oct 08 01:11:43 -0700 2008 some changes in sort_show_key_order() [steppicrew]
file TODO Wed Aug 20 13:07:51 -0700 2008 New rabak base script. git step 1: remove rabak [dr-berlin]
file Test.t Tue Apr 15 05:25:07 -0700 2008 Conf.pm: bugfix in value separation (splitValue... [Stephan Hantigk]
directory examples/ Wed Aug 20 15:37:46 -0700 2008 Some Refactoring [dr-berlin]
file rabak Wed Aug 20 13:10:25 -0700 2008 New rabak base script. Step 2: rename test.pl t... [dr-berlin]
file rabak.pl Wed Jul 18 05:21:39 -0700 2007 - patched mysql inheritence [steppicrew]
file rabak.sample.cf Mon Sep 15 02:18:21 -0700 2008 some fixes in comments and syntax [steppicrew]
file rabak.secret.cf Tue Jul 17 10:27:05 -0700 2007 - implemented command: rabak doc [steppicrew]
file rabak.std.cf Mon Sep 15 02:18:21 -0700 2008 some fixes in comments and syntax [steppicrew]
directory stuff/ Wed Sep 10 01:20:36 -0700 2008 makeDist.sh: version is provided by Version.pm [steppicrew]
directory tutorial/ Wed Apr 16 15:43:50 -0700 2008 Tutorial update [dr-berlin]
README
Welcome! This is Rabak, a backup tool

What's Rabak?
=============

Rabak is a reliable rsync based backup system, simple to configure,
simple to run, simple to restore data with.

Rabak's strategy is to always make full backups, usually to one or more
attached external hard drives. Using rsync's clever hard linking abilities,
the resulting backups use up little target space. Rabak uses simple and
flexible configuration files and supports backup to or from remote machines.
It even supports remote to remote backup (think remote control).

Rabak is very good for unattended safe remote backups, and has support
for postgresql and mysql backups via database dump streaming.

It's simple to configure different, multiple sources for one backup set.
There's support for file filters that hide the complexity of the rsync filters
(and make them actually usable).

Requirements
============
You need Linux or Cygwin. Other plattforms may work too. We didn't try.

You need rsync. I know rabak does't work before version 2.6.4.
Maybe even a newer one is requires. The newer the better.

You need Perl, I don't know which version. Probably >= 5.8

You need the Mail::Send and IPC::Run perl module. Fetch it from CPAN:
cpan -i Mail::Send (or cpan -i MailTools)
cpan -i IPC::Run

To use faster-dupemerge, you will need the Perl module Digest::SHA1.
To install it do:
cpan -i Digest::SHA1


Installation
============
Make a directory /usr/local/rabak and copy the contents of this
directory there.


Quick Start
===========
Change to the installation directory:
cd /usr/local/rabak

Look at the documentation:
./rabak doc

Make a test backup:
./rabak -c rabak.sample.cf backup test

Have a look at the result:
ls -lA test-bak

Read the documentation:
perldoc RabakLib::Doc

Configure Rabak:
cp rabak.sample.cf rabak.cf
nano -w rabak.cf

The 'cd' is a bit awkward, I know. I'll find a trick to let
Rabak find it's libraries later.


Feature Tests
=============
If you have the right to run mount and mknod, you can test more
features by doing:

cd stuff; sh testdev-make; cd ..

This produces a test environment in test-data. Data will be
backed up into test-bak. You can run the sample configurations
provided in rabak.sample.cf:

./rabak -c rabak.sample.cf backup test_firstof
./rabak -c rabak.sample.cf -i Tue backup test_targetgroup
./rabak -c rabak.sample.cf -i Tue2 backup test_targetgroup

When you're done, you can remove the test environment:

cd stuff; sh testdev-remove; cd ..

Check out the docs and the *.cf files for more insight.


Further reading
===============

Documentation is available through rabak itself:
./rabak doc

The most recent version and complete docs are available at:
http://www.raisin.de/rabak


Developers
==========
You can extend Rabak and add backup types. Have a look into
the RabakLib/Type directory.


Have fun!
Dietrich Raisin <info1@raisin.de>
Stephan Hantigk <rabak@steppicrew.de>

License
=======

See the LICENSE file.