Rsync like Time Machine

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


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

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)
Greg

On Fri, Jul 27, 2012 at 10:06 PM, Clint Olsen <clint.olsen at gmail.com> 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 gmail.com> 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 gmail.com>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:
>>> https://lists.samba.org/mailman/listinfo/rsync
>>> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
>>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.samba.org/pipermail/rsync/attachments/20120727/9382fd2a/attachment.html>


More information about the rsync mailing list