Alternatives to programmatically calling the rsync binary a lot

Marcelo Leal diversos at
Thu Oct 16 21:03:11 GMT 2008

The solution needs to be around rsync? I think you should look in some
kind of "low level" replication, like drbd or something...
What you have described i think is something very complex, because you
can have many changes almost at the same time, and many sync process
starting, or so... i don´t know how is the integration of the "watch
feature", and the sync daemon, but as you described i really think a
low level solution would be more safe.


2008/10/16 Axel Kittenberger <axel77 at>:
> Dear list, I'd like to have your expertise opinion on following issue.
> Out of a concrete need we developed an application that will rsync any
> changes on a local directory structure to a remove system the moment they
> happen using the linux kernel watch feature. This is in our opinion much
> more elegant compared to invoking rsync every x seconds/minutes from cron,
> or having to use a special filesystem (a FUSEd mirror or even kernel
> native). The application is called lsyncd (live syncing demon)
> For simplicity we just exec()ed the systems installed rsync binary to invoke
> rsync for a directory when a change happened in it. Now some users
> complained that this strategy involves a lot of forking on a vivid directory
> structure. Also we have not yet figured out a developed way how to handle
> which error rsync might encounter (what to do on network error, what to do
> on other errors) etc.
> Now do you think it is feasible to go for another strategy than working at
> hands distance by forking? I looked into librsync, in a childish assumption
> guessing it would be very same thing rsync uses, but a few reads later its
> evident they do not. But the big Beta tag frightens me, also it says its not
> wire compatible with rsync > 2, which does not look so cool. The other
> alternative would be to directly link with the rsync files (the
> possibilities of the GNU world), and call /use its according functions just
> like the rysnc main() function would do. What do you think would be smartest
> strategy to go for?
> Kind regards,
> Axel Kittenberger
> --
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options:
> Before posting, read:


--------==== pOSix rules ====-------

More information about the rsync mailing list