Rsync like Time Machine

Greg Deback (rsync) greg.deb+rsync at
Fri Jul 27 14:16:03 MDT 2012

If you really want to have a destination tree that looks like :
 current -> 2012-07-22

with the current symlink pointing to the latest backup, you can manage to
do it in two passes :
1. Create an empty directory '2012-07-22/' and the 'current' symlink
pointing to it (relative path), and rsync it to the final destination in
"replace" mode (ie. update, no deletion) with symlink on (-l). This will
replace the existing 'current' symlink in the destination folder.
2. Rsync (-Ha or -Haz) your src folder to 'current/' or to '2012-07-22/'
(leave the trailing slash)

On Fri, Jul 27, 2012 at 10:06 PM, Clint Olsen <clint.olsen at> wrote:

> Ok, that is helpful. As you can guess based on my question, it would be
> nice if all the automation can be done on the client side rather than
> having some specialized scripting on the receiving side to manage
> directories and symlinks etc.
> Thanks,
> -Clint
> On Fri, Jul 27, 2012 at 12:55 PM, Greg Deback (rsync) <
> greg.deb+rsync at> wrote:
>> Hi,
>> As for the destination directory and the backup directory (--backup-dir),
>> rsync will create the missing subdirectory (one level below the existing
>> dir only), so yes for /<somedir-exists>/<newdir-with-date>, no
>> for /<somedir-exists>/<newdir-with-year>/<newdir-with-month> on january
>> 1st... But if you want this dir to be a symlink, you can't.
>> Greg
>> On Fri, Jul 27, 2012 at 7:16 PM, Clint Olsen <clint.olsen at>wrote:
>>> I've been very interested in these discussions and uses of rsync as a
>>> "clone" of Time Machine. A couple of things have been keeping me from a
>>> fully automated solution. I'd like to eliminate the need for Samba/NFS
>>> mounts of any kind, because they have proven to be unreliable for me and
>>> under some operating environments (Cygwin) it breaks --link-dest. In most
>>> of the articles I've read, a target "date" directory is created with some
>>> sort of "latest" symlink for the --link-dest parameter. I can accomplish
>>> those tasks via remote ssh commands, but I was hoping there was a better
>>> way. For example, is there any circumstance where you can coax rsync into
>>> creating a target directory that's not there already?
>>> % rsync <source> user at nas::module/<somedir-exists>/<newdir-with-date>
>>> So, newdir-with-date doesn't exist (yet). I would like to have rsync
>>> create it for me. Is that even possible?
>>> Thanks,
>>> -Clint
>>> --
>>> Please use reply-all for most replies to avoid omitting the mailing list.
>>> To unsubscribe or change options:
>>> Before posting, read:
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the rsync mailing list