I would use rsync (for the files) which is supported on just about every platform on the planet. I would use a script to drop the db and load it from a sql dump rsync'd with the files.
I this way your mirror can be cron'd to update say every 4 hours.
Cheers, //kracker
<i>beastie boys - skills to pay the bills (super mario mix)</i>
I created a documentation entry on eZpedia on this subject.
Please feel free to add your ideas on the subject! <i>http://ezpedia.org/wiki/en/ez/rsync</i>