We handle it via 2 scripts.
One script (on the server side) does daily rotations mid-morning on successfully completed rsyncs from the night before. (i.e. removes daily.7, moves daily.6 to daily.7, etc... - if the rsync was successful) The client side always sends to "daily.0" and uses the "daily.1" folder as the link-dest. To make the rsync as "completed successfully", the client script parses the log and uses sftp to send a summary file to the "daily.0" folder. The server side script checks the content of that summary file to see if it should nuke "daily.7" and proceed with the rotation. I'm using a heavily modified version of the rsyncsnapshot scripts with automated email reporting from both client and server sides.

On 6/24/2011 10:38 AM, Carlos Carvalho wrote:
Scott Baker (sc...@perturb.org) wrote on 23 June 2011 15:30:
  >I'm using rsync to do an incremental backup of my desktop here, to a
  >remote server as follows:
  >
  >#/usr/bin/bash
  >
  >old=$(date -d 'now - 1 week' +%Y-%m-%d)
  >new=$(date +%Y-%m-%d)
  >
  >rsync -avP --delete --link-dest=../$dir /home/bakers
  >bak...@perturb.org:/home/bakers/backup/$new/
  >
  >This is actually working GREAT! The only problem is that sometimes the
  >cronjob won't complete (internet is down, something like that). When it
  >tries to run the next week it does --link-dest against a dir that
  >doesn't exist. It happily complies and transfers EVERY file because
  >there is no source to hardlink from.
  >
  >I'd really like rsync to exit and throw an error if the --link-dest
  >isn't present. I can't find anything in the man page about any fancy
  >--list-dest options. Am I missing it?

You should handle it in your script. You can pass several directories
with link-dest and rsync will search for the file in all of them, in
the order you gave. If it doesn't find one for hardlinking it pulls
the file through the net.

We do it here in our backup script to avoid useless copying, both when
the backup machine starts the process and when the source of the files
starts it.
--
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

Reply via email to