I have 2 servers running linux, one of them hosts picture sharing service (currently there's 193G of pictures) and I want to have incremental backup. Copying whole site every time is not an option so I want something like rsync but it should be able to use previous versions of backup and just hardlink up to date files. Is there some existing solution for this?

  • 2
    Rsync does do exactly that already using the --link-dest option. Many tools use rsync exactly like you describe.
    – Zoredache
    Mar 21, 2012 at 17:11
  • serverfault.com/questions/349983/…
    – Zoredache
    Mar 21, 2012 at 17:16
  • Thanks people! Now i'll go play around with all of that. First will try vanilla rsync with --link-dest.
    – Daniel
    Mar 21, 2012 at 17:19

3 Answers 3


rsnapshot perfectly fits the bill here.

  • seems it is, but what i'm afraid of is its last release (2008), seems it has been abandoned :(
    – Daniel
    Mar 21, 2012 at 17:07
  • 1
    @Daniel, it is simply stable not abandoned. Rsync usage hasn't really changed, filesystems really haven't changed. So why would a backup tool that simply copies files need to be updated? The core component of rsnapshot is rsync, which is separate program and is still being updated. Long term stability is a very good sign for a backup tool.
    – Zoredache
    Mar 21, 2012 at 17:13

I'd recommend you rdiff-backup, which is using the rsync library. It creates incremental backups. The best thing is that the most recent backup is always stored as-is, so you can just use cp or scp etc. to restore data. If you need older data, there's an argument that lets you restore data.

We're using it to backup about 450GiB of data every night.

Example: Show backups:

root@xenbackup:~# rdiff-backup -l /backup/new/web1_example_org/
Found 26 increments:
    increments.2012-02-24T14:38:25+01:00.dir   Fri Feb 24 14:38:25 2012
    increments.2012-03-14T07:00:55+01:00.dir   Wed Mar 14 07:00:55 2012
    increments.2012-03-15T06:53:51+01:00.dir   Thu Mar 15 06:53:51 2012
    increments.2012-03-16T06:54:03+01:00.dir   Fri Mar 16 06:54:03 2012
    increments.2012-03-17T07:35:28+01:00.dir   Sat Mar 17 07:35:28 2012
    increments.2012-03-18T06:23:44+01:00.dir   Sun Mar 18 06:23:44 2012
    increments.2012-03-19T06:16:30+01:00.dir   Mon Mar 19 06:16:30 2012
    increments.2012-03-20T06:17:56+01:00.dir   Tue Mar 20 06:17:56 2012
Current mirror: Wed Mar 21 06:20:32 2012

Example: Back up folder /var/www on web1.example.org to local /var/backups:

root@xenbackup:~# rdiff-backup root@web1.example.org::/var/www /var/backups

There's some cool documentation here.

rdiff-backup creates a subdirectory called rdiff-backup-data where it stores its incremental data and logs. You can even tell it to delete data older than 2weeks or so. Check the docs, this thing is amazing! :-)

  • 1
    seems fitting, but again, last release in 2009.
    – Daniel
    Mar 21, 2012 at 17:09
  • Well, I'm using a lot of software which was released some years ago. As long as it works, there's nothing to complain. And it's open source, so anyone is welcome to contribute to it.
    – Daniel
    Mar 21, 2012 at 17:11
  • My current experience is, that rdiff-backup is very slow. Can't recommend.
    – dom0
    Jun 27, 2013 at 16:58

Just for completeness sake, dirvish is a great tool that performs this task as well.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.