/s
Seriously though, rsync is your friend. :-)
/s
Seriously though, rsync is your friend. :-)
Even rsync might not be atomic enough for some situations[1] since it'll update files as it goes rather than in one huge transaction at the end.
[1] I worked on the World Cup 2006 site for Yahoo! and we had this issue - solved with 'rsync --link-dest' and swapping symlinks.
1. stop service 2. copy files 3. start service
That assumes you can stop the service which, for many things (like the World Cup website), isn't really possible.
Hot patching wins, but needs good design to work in the first place.
As an industry I suspect we tend to over-engineer rather than under. There is a huge spectrum between my single person business with a brochure site and what Google or Apple needs. I'm willing to bet most programmers are working closer to the first than the second.
It was sufficiently small enough (no heavy media files) that I didn't mind if I left some unused files up there. Pretty much the only thing that I had to do was make a copy of the sqlite database each time just in case.