Exercises are all very well - but the real test of how your emergency procedures work are in a real emergency. So it was that at 3 O'Clock this morning I noted something very odd with our server load; logged in and noticed a process called "shred" running a root and got chucked off about 60 seconds later. The server died, responding only to ping.
Cutting a long story short, I'm pretty sure it was some sort of malicious attack on our server (I'm not going to speculate on what it was exactly here) and I found myself filling in tickets and discussing the issue with an engineer through that system who, however, was very good. But rapidly came to the conclusion that a rebuild of the main server was necessary and whilst he could
mount the old disc on there too, there was little point as it hadn't even got any partitions.
So at 4 O'Clock I found myself with a new server build. With minimal stuff. No running web server, not even a compiler and CentOS 6 rather than Red Hat Fedora. It's been an interesting
day - we teach delegates not to use too many technologies, but then we ourselves use a lot in training and have to have them all live and demonstrable.
Backups were 3 weeks old - not really all that frightening as we can reset from the development server. Fixes in odd places have to be remembered too. Now where did I get THAT library from? And where do I get the equivalent for the current software version? At least we're now at PHP 5.4 and MySQL 5.6 ...
16 hours later, I'm just ending today's sprint. The services the machine offers are up and running again. Most of the main website content is too, and the working scripts. I have a list of issues, 7 other virtual hosting sites and much more and I have just re-backed up 4 Gbytes. Time for some zzz zzz zzz (written 2013-03-30, updated 2013-04-06)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articlesA162 - Web Application Deployment - Backups and File System Management 
Extracting data from backups to restore selected rows from MySQL tables - (2015-05-01) 
Backup procedures - via backup server - (2015-01-24) 
Commenting out an echo killed my bash backup script - (2015-01-19) 
Checking MySQL database backups have worked (not failed) - (2015-01-10) 
More or less back - what happened to our server the other day - (2013-06-14) 
Backups by crossover between network centres - setting up automatic scp transfers - (2013-04-13) 
How much space does my directory take - Linux - (2009-07-20) 
Some Linux and Unix tips - (2008-11-18) 
Will your backups work if you have to restore them? - (2008-09-18) 
Dialects of English and Unix - (2008-08-21) 
The tourists guide to Linux - (2008-05-20) 
Linux / Unix - layout of operating system files - (2007-11-20) 
Linux run states, shell special commands, and directory structures - (2007-08-03) 
Finding public writeable things on your linux file system - (2007-01-06) 
Copy multiple files - confusing error message from cp - (2006-12-30) 
tar, jar, war, ear, sar files - (2006-06-10) 
Boys will be boys, saved by Ubuntu - (2006-05-27) 
Copying files and preserving ownership - (2006-04-28) 
Finding where the disc space has gone - (2006-02-06) 
What backup is adequate? - (2006-01-04) 
Symbolic links and hard links - (2005-06-02) 
Linux - where to put swap space - (2004-12-16)
Some other Articles
CodeIgniter - an excellent PHP framework with an easy start pointCurl and curling from PHPThe highs and lows of customer service - CheltenhamstdClass in PHP - using an object rather than an associative arrayAn overpractical test of our backup strategy!Using web services to access you data - JSON and RESTful servicesOn Salford Docks - mind over matter? Frameworks - learning through exploring and understanding data sourcesThe PHP course this week is in... SalfordOn reading a new hotel review