keithlofstrom wrote on Sunday, January 13, 2013:
Openemr newbie, backup oughta-know-better here. I am setting up OpenEMR at my wife’s clinic; we are using it for schedules and startiing to enter patient encounters. Our dependence and investment in the data is increasing fast.
I also host dirvish, a scheduling wrapper for rsync. Disk-to-disk backups with hardlinking. Dirvish is “legacy software” (not much improvement, no known remaining bugs) used by many individuals and large organizations. The linux kernel and mozilla are backed using a customized version of dirvish. I’ve got restorable nightly backups going back 7 years, including nightly onsite and offsite backups for the OpenEMR server.
Backups are step one. Thinking through restores are actually the most important issue. I’ve written some extra scripts to rebuild the drives for specific machines. There is no fully automatic way to do this, because the reasons for restoring a hard drive can vary. System failure? Hard drive failure? Security breach? Rogue program? Major user error? Which parts of which backups to combine to create a new disk requires situational awareness and decision making. Staging the backup to reduce impact on operations is important.
Today I am rebuilding the OpenEMR server with a solid state drive, an Intel 530 series 120GB which some claim is the most reliable single-drive storage per dollar available. We originally built around a WD 2GB Green hard disk, but that turns out to be way more storage than we need. I will create a second identical drive, which will live offsite and get daily backups. I tweaked DNS and apache so main instance of openemr is accessable on the network with the url “emr”, and the backup will be similarly accessable by a different short name.
Well and good, but if I am out of town and our backup sysadmin is busy, it could be days before we can merge the instances (how???). Secondly, Murphy’s Law warns us that when we do have a failure, it will be after a day of entering data, some of which (like patient encounters) will be difficult to recreate.
So, my question on this topic is how we can record a log file of the day’s activities, in sufficient detail that we can review it and then play it back onto a backup image to bring it up to date?
The best outcome would be that as soon as office staff knew there was a failure, they could log into the backup instance of openemr and just keep going, perhaps redoing the page they were working on when it failed, but no more than that.