Our client, a software development organization who deals with very sensitive and specialized projects, had a specific needs for backing up their daily work with very high confidentiality, integrity and redundancy concerns. They were looking for a fully automated/custom backup solution over multiple Linux/Unix servers. Major constraint was to design the system utilizing native operating system resources only i.e. no external and/or large application was allowed to be installed on target server which can not be assessed quickly, neither Software as a Service can be used due to confidentiality concerns.
Using client/server model; the solution was designed from scratch utilizing only native GNU tools, automated via bash scripts. System automatically creates hourly incremental backup of given directories and databases on first server. It then send last full backup to second server, which maintains daily backups for up to 30 days. Further sending a collaborated 30-days backup to a 3rd server which maintains monthly backups for up to an year. And finally it writes monthly backup onto DVDs for offsite storage at the end of each month. Solution was self managed with file integrity monitoring with email and sound based alerting for various events. Solution was deployed at client’s in house data center. The end code was concise, optimized and can be assessed by any programmer easily in a very short time.
Our code was approved fairly quickly due to its effectiveness and simplicity and was deployed within a day after inspection and rigorous testing. Our client is now enjoying hassle less development without the fear of; loss of critical information. Additionally their legislative and compliance issues are being taken care of with least human intervention.