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 articles
A162 - Web Application Deployment - Backups and File System Management [153] Linux - where to put swap space - (2004-12-16)
[334] Symbolic links and hard links - (2005-06-02)
[554] What backup is adequate? - (2006-01-04)
[593] Finding where the disc space has gone - (2006-02-06)
[703] Copying files and preserving ownership - (2006-04-28)
[735] Boys will be boys, saved by Ubuntu - (2006-05-27)
[754] tar, jar, war, ear, sar files - (2006-06-10)
[1013] Copy multiple files - confusing error message from cp - (2006-12-30)
[1023] Finding public writeable things on your linux file system - (2007-01-06)
[1288] Linux run states, shell special commands, and directory structures - (2007-08-03)
[1439] Linux / Unix - layout of operating system files - (2007-11-20)
[1648] The tourists guide to Linux - (2008-05-20)
[1765] Dialects of English and Unix - (2008-08-21)
[1801] Will your backups work if you have to restore them? - (2008-09-18)
[1893] Some Linux and Unix tips - (2008-11-18)
[2299] How much space does my directory take - Linux - (2009-07-20)
[4063] Backups by crossover between network centres - setting up automatic scp transfers - (2013-04-13)
[4115] More or less back - what happened to our server the other day - (2013-06-14)
[4390] Checking MySQL database backups have worked (not failed) - (2015-01-10)
[4400] Commenting out an echo killed my bash backup script - (2015-01-19)
[4405] Backup procedures - via backup server - (2015-01-24)
[4481] Extracting data from backups to restore selected rows from MySQL tables - (2015-05-01)
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