With something like this, how do you handle the period of time while copying? I mean you can’t really leave it running as it wouldn’t be in a consistent state. A “under maintenance” page instead? Copy to a fresh folder and when done tell the webserver to serve the new location?
YOLO: especially with thugs like PHP you only affect one page at a time and with low traffic the odds of a problem is small
Maintenance page: temporarily show a page. Some servers like IIS have this built in. Otherwise it’s a simple update to httpd conf
In a cluster environment, just take the node you’re updating out of rotation, and only update one nice at a time.
Copy and switch like you suggested. Can be combined with any of the above and is a smart move if upload is slow or can be interrupted, or it’s cumbersome to restore the old files
With something like this, how do you handle the period of time while copying? I mean you can’t really leave it running as it wouldn’t be in a consistent state. A “under maintenance” page instead? Copy to a fresh folder and when done tell the webserver to serve the new location?
It depends. I’ve done it a few different ways: