I need to backup many sites over slow, high latency satellite links. We are talking pings of 650ms to each site. I can get a dump of the initial data by sending out USB disk to site and restoring it at central office. From then on I intend to use rsync or DFS-R for byte-level incremental copies across the link. All the machines are Windows 2003 SP2 R2. I have read that rsync can hang on large files and is still a bit flakey for Windows?
Alternatively should I use DFS-R which also does byte-level copies?
I have tried DFS-R in the past and was not impressed by the lack of logging, it was very hard to find out what was actually going on. That's why I'm interested in rsync. Has anyone any real world experience of both methods?
I have used rsync extensively and I find it very good. I too have tried the file replication bits of DFS and it's a bugger to troubleshoot if something goes wrong.
See http://www.ratsauce.co.uk/notablog/UsingRsync.asp for my notes on the subject.
JR
Edit to answer the question about permissions:
Unix and Windows permissions work in very different ways and mapping between them is not a trivial process. Unless you set the environment variable CYGWIN=nontsec Cygwin rsync will attempt to copy the ACL attached to files, but it will almost certainly mess it up in the process and the results won't be useful.
One obvious problem is that an Access Control Entry (an ACE is an entry in an Access Control List) identifies the user or group that it applies to by a GUID. While there there are some "well known" GUIDs that apply to all Windows installations, e.g. "SYSTEM" and "Everyone", most GUIDs only have a meaning on the server or domain in which they were created. So if an ACL is rsynced to another server it will probably contain GUIDs that don't refer to any user account on that server, and the ACL will be useless.
This applies to any program that copies files, not just rsync. A cynic might suggest that Cygwin rsync is especially effective at mangling ACLs, but this seems unfair to me as handling Windows security is such a hard thing for Cygwin to do.
Bearing in mind that with inherited permissions you normally only have to set permissions on a few high level folders, I strongly recommend you set CYGWIN=nontsec and don't attempt to replicate security.
Given you had 650ms latency to start with that's probably the root cause of the network failure message. If the link got busy or some other factor caused the latency to increase resulting in something timing out. I'm not massively familiar with Rsync but if there's a config option to increase time-out periods and retry counts I would try that and see what happens.
What sort of bandwidth links are these?
DFS would have been my first choice between 2003 R2 boxes. Logging wise you might not get a lot from DFS itself but you can use file access and change logging at either end to give you more idea of what's being modified and when. You should also use the bandwidth throttling function if you didn't already so that you don't saturate your links as this might cause disconnects/time-outs even when the links are functioning.