We have a 39 TB linux server (mdadm raid 6 15 3TB Drives) that has about 12TB of working data on it. Initially I wanted to create a snapshot system that only saved the data that was changed, much like a copy-on-write filesystem such as ZFS or what LVM does.

Unfortunately employees were already too far into using the XFS file system for me to start from scratch with LVM or a ZFS filesystem as it was going to be too troublesome/expensive to migrate all the data off the server and back on again.

As it is rsnapshot is creating an entire copy of the working data + diffs on the same raid as the working data is, thus filling up the raid twice as fast. Not only does this take up excessive disk space, it also eats up disk/io (I've mitigated this some with ionice -c3).

Is there a way to make it so that rsnapshot/rsync only uses hard links, and thus keeps around old files that might get deleted or moved but not necessarily a complete copy of the working data? It would basically behave more like a versioning software instead of backup software....

  • Look into rsync --link-dest, it might help you, though I am not familiar with rshapshot so I cannot tell if it fits well.
    – chutz
    Commented Nov 15, 2012 at 1:21
  • well you can do this manually, just create the hardlinks in a directory, and let this be the destination for the next rsnapshot run, rsnapshot is quite simple, it is basically just a 'create hardlinks' step followed by rsync. Commented Nov 18, 2012 at 2:06

1 Answer 1


No. The first backup done by rsnapshot must be a full copy - how should it otherwise detect changes?

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .