rdiff backup?

Mario Vukelic mario.vukelic at dantian.org
Tue Jan 27 06:59:38 UTC 2009

On Mon, 2009-01-26 at 17:09 -0500, Paul Gupta wrote:
> what's the command now? are there any wrappers/programs that do good 
> diff styled backups?

I found this once on some Ubuntu or Gnome blog or something. Apologies
to the original author for not having the source:


Storage is becoming cheaper and cheaper: you can find hard drives that
cost less than a dollar per GiB. Buying an external hard drive to make
backups (or even having a backup server) is a must if you value your
work and what you have stored in your computer. However, doing backups
should be easy enough to be done on a regular basis. The more automated,
the better.

So, I find no excuse not to do regular backups and looked for a tool
easy-to-use but powerful. rdiff-backup is a python script that helps
doing local and remote incremental backups. To backup your $HOME to an
external hard drive mounted in /media/backup simply do:

$ rdiff-backup $HOME /media/backup/home_backup

If after some days you want to backup your new files, run the same
command to update the backup.

Now, in /media/backup/home_backup you have an exact copy of your home as
it was when you did the last backup. If you want to restore a directory,
you can just copy it:

$ cp -a /media/backup/home_backup/src/myprogram ~/src/

Which is equivalent to:

$ rdiff-backup --restore-as-of
now /media/backup/home_backup/src/myprogram ~/src/

Of course, you can restore previous versions of the file. For example,
to restore the source of myprogram as it was a mounth ago:

$ rdiff-backup --restore-as-of
1M /media/backup/home_backup/src/myprogram ~/src/

You can see all the incremental backups you have done executing:

$ rdiff-backup --list-increments /media/backup/home_backup

If you run out of space in your backup device and you’re sure you don’t
need the backups you made three years ago, you can remove them with:

$ rdiff-backup --remove-older-than 3Y /media/backup/home_backup

rdiff-backup works exactly the same with remote directories. You need to
have ssh access and rdiff-backup must be installed in the remote(s)
machine(s). Note that in any example above, you can change the local
directories to remote ones, so you can backup a remote machine locally,
or do a backup of this machine to a remote backup-server. For example,
say backup.mysite.org is your backup server. You can backup regularly

$ rdiff-backup local-dir/ user at backup.mysite.org::/remote-dir

If you use RSA or DSA authentication, you can even put that in a cron

See rdiff-backup documentation and other examples to discover all the
functionality of this package.

Similar packages

Frontends for rdiff-backup:

    * keep is a GUI (KDE) frontend for rdiff-backup.

    * archfs is a fuse (filesystem in userspace) virtual filesystem that
lets you browse each version of a rdiff-backup repository as if they
were any other directory. Adam Sloboda has stated his intention to
package archfs for Debian.
    * rdiff-backup-web (not in Debian, no WNPP yet) is a web frontend
for rdiff-backup.

There are a ton of other programs to make backups. I will list here some
of them (but this list is no where near complete) that are similar to

    * backup2l also makes local backups, but seems to miss the
remote-backup feature.

    * backuppc is a perl script that also makes incremental backups, and
has an http user interface to help manage and restore backups.

    * duplicity also makes remote incremental backups, but encrypts the
data using gnupg. I haven’t test it myself, but it can be useful if you
don’t trust the remote file server.

    * storebackup also makes local incremental backups. It makes a new
tree in every snapshot, but disk space is preserved by hard-linking
unchanged files.



    * Easy to use. Now there’s no excuse not to do backups!

    * Works from the command line, so you can easily put it in a script
or cron job.

    * Simple recovery from last snapshot, you can use standard tools
like cp or find.


    * Not having a GUI may scare some users.

    * It stores the last snapshot uncompressed, so depending on what you
are backing up, it can be very space consuming. Older snapshots are
compressed, which makes this con a not-so-con ;-).

rdiff-backup has been available in Debian since Sarge (perhaps even
longer), and in Ubuntu since Dapper.

More information about the ubuntu-users mailing list