mirror - Mirror remote files or directories

Mirror is a general purpose, simple, portable tool for mirroring remote file systems and keeping the local copy updated.

It uses rsync under the covers, so it is fast at updates.  Rsync only transfers the parts of files that have changed.

With mirror (configuration) files, it can be used as an alternative to utilities such as cvsup for syncronizing CVS repositories from servers that offer rsync access.

Mirror was originally written so that we would have a tool that was convenient for keeping an updated local copy of the DragonFly BSD source repository with the ability to update from any one of the rsync servers. We did not want to have dependencies on cvsup, a non-portable tool, written in Modula-3, that after several years, as of the time of this writing, still did not have a native port to DragonFly BSD.

It comes with a mirror file that is pre-configured for maintaining a local copy of the DragonFly BSD source code repository and documentation.

It requires Perl5+ and rsync (tested with rsync version version 2.6.x). It also requires the remote site to be running an rsync server.

It is written and maintained on BSD but runs on Linux and should run on any Unix varient OS.