2 ms·
rsync is for bringing one tree in sync with another. It can do this relatively efficiently if you already have a previous version of the tree at the destination
by rlpb 16y ago
rsync is for bringing one tree in sync with another. It can do this relatively efficiently if you already have a previous version of the tree at the destination, which is a fairly common case. rsync compares (more or less) each file with its parallel file on the other side and transmits just the differences. rsync won't save you any storage, just bandwidth.
ddar is for storing things de-duplicated, possibly over the network. It will save both storage and bandwidth. However, you won't get a tree on the other side, just an opaque container than you can extract the data out of again.
So: rsync to bring two trees in to sync, Tarsnap or ddar to store things (eg. for backups).
You could use rsync to store backups, but only really with the help of other tools. Tools like duplicity, rdiff-backup or rsnapshot.
Tarsnap was the first common system (to my knowledge) to do full de-duplication for storage. ddar works in the same way.
By full de-duplication I mean for the system to have an overview of all data in order to optimise transfers and storage.
For example, if I were to download a large image (say a Debian ISO) and then back up my machine using Tarsnap or ddar, then delete the ISO and perform another backup, then download the ISO again and perform a third backup, the third backup will optimise out transmitting the image because it is already stored. I don't think that rdiff-backup, rsnapshot or duplicity can do this, since they only consider one backup at a time. I believe this applies to renaming files around as well.
- jonhohle 16y agoThanks for the clarification. rsync is so fickle with it's deduplication that it doesn't handle file attribute changes either due to hard link limitations. rsync does a lot to maintain file attributes across heterogeneous systems, does ddar address this issue as well?
- rlpb 16y agoddar doesn't care. The intention is that you use ddar together with a tool that will do what you need, such as tar as in the examples. tar will deal with file attributes; ddar will deal with the de-duplication.