Friday, October 27, 2006

Dbackup

dbackup is a disk-based client-server backup system for Linux or other UNIX systems.

It works on the principal that disks are cheaper and more reliable than tapes.

Backups are started by cron probably on a daily basis by the client. The client backs up individual filesystems / directories with tar and sends the result to the server, which stores them in a simple tree-based directory structure.

Restores are trivial, either by using the supplied restore client, or by simply copying the appropriate tar files off the server and uncompressing them.

Features



  • Backup very large filesystems as long as you have the disk space

  • Works with very large numbers of servers / filesystems

  • No state is kept on the client, it’s all on the server

  • Backup to multiple backup servers in round-robin

  • Configuration can be global or per-server

  • Authentication for client restores (optional)

  • Supports optional gzip or bzip2 compression

  • Supports client-side gpg encryption

  • Trivial procedure for restores

  • Daily / Full incremental backups




Requirements



  • Perl version 5.005 or above is required, but much better performance will be seen with 5.6 or above.

  • Digest::MD5

  • While not required, the Term::ProgressBar module is recommended for restores



Howto



  1. Install the package, either by the RPMs or extract the tarball and follow the INSTALL instructions.

  2. Edit the client config file in /etc/dbackup-client/config to specify the address of your backup servers:
    # /etc/dbackup-client/config
    #
    # dbackup client configuration. Perl syntax.
    # The following are the defaults. A list of servers can be given using
    # syntax: [ "host_a", "host_b" ]

    $backup_servers = [ "backup1.mydomain.com", "backup2.mydomain.com" ];
    $backup_port = 38771;

    # DO NOT CHANGE THIS
    1;


  3. Initiate a backup on the client:
    client1:~# dbackup backup /home/httpd

    Any errors will be printed to the screen. You can use the -v flag to show details.

  4. Request a list of available backups from the server. You can run this from another machine by specifying the -h flag:
    client1:~# dbackup list
    Available backups for client1:

    Directory Run Level Date Size
    /home/httpd 1 0 2006-10-24 17:02 2598912000 ( 2.4 Gb)


  5. Test a restore to a temporary directory on a second machine:
    client2:~# dbackup restore -d /tmp -h client1 /home/httpd
    Restoring /home/httpd on localhost to /tmp (Backup 1.0)
    Restored 2.40 Gb in 59 seconds.
    100% [=========================================================================================]D 0h00m00s




Documentation


Documentation is in the program files in POD formation.

To view the documentation on the server, run “perldoc dbackup_server“.

Getting dbackup


The current version is 1.1.0, and represents a major rewrite from the 1.0 tree. It is not backward compatible.


















Sourcedbackup-1.1.0.tar.gz
Source RPMdbackup-1.1.0-1.src.rpm
Client RPMdbackup-client-1.1.0-1.i386.rpm
Server RPMdbackup-server-1.1.0-1.i386.rpm


Reporting Bugs


Please submit any and all bug notifications you have to david-dbackup@dparrish.com.

Contact


You can contact the author (David Parrish) at david-dbackup@dparrish.com.

No comments: