Hi, I would suggest looking into mirroring, this should be an easy process and fairly easy to do with a cron job and rsync, I just did a quick google search and was able to find the following article that should be useful for mirroring two servers in a fairly basic method. This will say how to back-up/mirror the servers.
http://www.howtoforge.com/mirroring_with_rsync
As for the fail-over to the secondary server, this may need more work... unfortantly I don't have much I can offer in terms of advice on that front. I believe there are solutions that can be done with a DNS to point to multiple IPs or fail-over ips but I don't think it's perfect and I am not sure of how such is accompilised I am afraid. There are other methods of fail-over as well... but I have little knowledge of them
I would also point out that if your gunna go for such redundancies then you should have the two servers preferably in different locations/networks as well else you still have single failure points for both servers together.
P.S. I think this should be in the
Linux - Server forum, this is just more then a bit above newbie level.