From: Rolf H. <rh...@fl...> - 2008-11-14 14:36:29
|
Robert Hanson wrote: > ok, that's checked in. > > Now we need a system to ensure these are synced well. What do you recommend? > On your side it is very easy. Just check in any changes with 'svn' as soon as possible. On the mirror side it is also not very complicated. On Linux/Unix systems it is very easy to run scripts periodically. The script could run a "svn update" command once or twice a day (or whatever frequency we decide is appropriate). I would not recommend to run the "svn update" command directly on the directory that is used by the mirror web server. If anything goes wrong with the svn command it might break the mirror. So usually I maintain 3 copies: 1) the directory used by "svn update" (mirror) 2) the directory used by the web server (current) 3) a second directory on the web server (new) If there was any change in the "mirror" directory then the content of "mirror" is synced with "new". For large amounts of data with little changes I usually use the "rsync" command for this. But since the documentation is currently only ~500MB a simple copy command might be sufficient. After syncing to "new" is finished there are done some consistency checks. If no errors were detected "current" is renamed finally to "old" and "new" is renamed to "current". Besides being able to do error checking this method also avoids intermediate states within the mirror where some files are old and some are new. At the beginning of the next update "old" is renamed to "new" so that "rsync" must only update it. I will set up this next week for our mirror. Regards, Rolf |