I’ve been given the task at work to mirror all of our websites on-to our local development server. I knew instantly that I needed to use something like rsync but was unsure how to use it. Also rsync runs over SSH and requires human intervention to enter the login password for the remote server over SSH. As I want the mirror to update daily I would need to setup a cron job but that could not work as the rsync command rqquires someone to type in a password.
After Googling I found this fantastic article at How to Forge: Mirror Your Web Site With rsync. It gives an extensive step-by-step guide on how to setup mirroring using rsync, configuring the servers so that rsync does not require a password when connecting to remote server, and how to setup the cron jobs.