Backup and Disaster Recovery Plan
1. Overview
This document defines the Backup and Disaster Recovery (BDR) strategy for the CostOS application, a self-hosted enterprise solution designed for cost estimation and financial management.
CostOS is deployed using an official installer package provided by the CostOS team.
All application configuration, user data, and transactional information are stored in two Microsoft SQL Server databases:
Master Database – stores system configuration, users, roles, and application metadata.
Project Database – stores all project-related data, cost structures, and work records.
Because the application server can be easily reinstalled using the official installer, recovery depends entirely on restoring these two databases.
This plan ensures that in the event of data loss, system failure, or disaster, the CostOS environment can be fully restored to operational status.
2. Objectives
2.1 Purpose
The purpose of this plan is to ensure:
Reliable and consistent backups of both CostOS databases (Master and Project).
Rapid restoration of service following failure or disaster.
Clear responsibilities and documented recovery procedures.
2.2 Scope
This plan covers:
Both SQL Server databases used by CostOS.
Backup automation, retention, and verification procedures.
Recovery using the CostOS installer and validated database backups.
It does not cover:
End-user workstations or temporary files.
Non-production or test environments (unless specifically included by policy).
3. System Components
Component | Description | Backup Requirement |
|---|---|---|
Master Database | Stores configuration, users, roles, and system metadata. | Full, differential, and transaction log backups. |
Project Database | Stores all project and operational data. | Full, differential, and transaction log backups. |
Application Server (CostOS) | Provided via official installer; can be reinstalled easily. | No backup needed (installer maintained by vendor). |
Configuration Files | Contains connection strings, encryption keys, and SSL certificates. | Backup if modified. |
Operating System | Host environment (Windows/Linux). | Reinstallation documented; no OS-level backup required. |
4. Backup Strategy
4.1 Database Backups
Backup Type: Full, differential, and transaction log backups for both databases.
Schedule:
Full backup: Daily (after business hours)
Differential backup: Every 6 hours
Transaction log backup: Every 30 minutes
Storage Locations:
Local storage (primary)
Off-site or network-attached storage (secondary)
Optional secure cloud repository (for redundancy)
Retention Policy:
Daily backups: 14 days
Weekly backups: 1 month
Monthly backups: 6 months
Encryption:
All backup files are encrypted using AES-256 or organization-approved standards.Integrity Check:
Each backup is verified using SQL Server’sRESTORE VERIFYONLYcommand:RESTORE VERIFYONLY FROM DISK = 'D:\Backups\CostOS_Master_Full.bak'; RESTORE VERIFYONLY FROM DISK = 'D:\Backups\CostOS_Project_Full.bak';
4.2 Application Installer
The CostOS installer is provided and maintained by the vendor.
Customers must store a copy of the installer and any product license keys in a secure location.
If the installer is lost, a replacement can be obtained through CostOS Support.
4.3 Backup Automation
Automated via SQL Server Agent or scheduled PowerShell scripts.
Email notifications alert administrators on success or failure.
Backup job logs are retained for 30 days and reviewed weekly.
4.4 Off-Site Storage
Copies of verified backups are transferred daily to off-site or secondary storage.
Off-site repositories must be encrypted and access-controlled.
At least two backup copies (local and off-site) must exist at all times.
5. Disaster Recovery Strategy
5.1 Recovery Principle
CostOS can be fully recovered (100%) using:
Verified backups of both the Master and Project databases.
The official CostOS installer package.
No other data or configuration is required for complete recovery.
5.2 Common Scenarios
Scenario | Recovery Method |
|---|---|
Database Corruption | Restore the latest verified backups of both databases. |
Server Hardware Failure | Reinstall OS and CostOS using the installer, then reconnect to restored databases. |
Ransomware or Data Breach | Wipe affected systems, reinstall CostOS, and restore from clean verified backups. |
Data Center Outage | Deploy CostOS at secondary site using off-site backups. |
6. Disaster Recovery Procedures
Step 1 – Prepare New Server
Install a clean, supported OS (Windows Server or Linux).
Install Microsoft SQL Server (same or compatible version).
Confirm network connectivity and SQL permissions.
Step 2 – Restore Databases
Copy verified backups of both databases to the new SQL Server.
Restore each database:
RESTORE DATABASE CostOS_Master FROM DISK = 'D:\Backups\CostOS_Master_Full.bak' WITH MOVE 'CostOS_Master_Data' TO 'D:\MSSQL\Data\CostOS_Master.mdf', MOVE 'CostOS_Master_Log' TO 'D:\MSSQL\Logs\CostOS_Master.ldf', REPLACE; RESTORE DATABASE CostOS_Project FROM DISK = 'D:\Backups\CostOS_Project_Full.bak' WITH MOVE 'CostOS_Project_Data' TO 'D:\MSSQL\Data\CostOS_Project.mdf', MOVE 'CostOS_Project_Log' TO 'D:\MSSQL\Logs\CostOS_Project.ldf', REPLACE;Validate with:
DBCC CHECKDB('CostOS_Master'); DBCC CHECKDB('CostOS_Project');
Step 3 – Reinstall Application
Run the official CostOS installer provided by the vendor.
Follow installation prompts to deploy the application.
Update configuration files with:
Connection strings for both databases
Database credentials
Encryption keys and SSL configuration
Start CostOS and verify connectivity.
Step 4 – Verify and Test
Confirm login and user configuration (Master DB).
Open and test project data (Project DB).
Verify SSL/TLS certificate settings.
Run basic operations to confirm system readiness.
7. Testing & Validation
Backup Verification: Daily integrity checks for both databases.
Restoration Testing: Performed at least twice per year on a test system.
Documentation: All restoration and test outcomes are recorded and reviewed.
8. Recovery Objectives
Metric | Description | Target |
|---|---|---|
RTO (Recovery Time Objective) | Maximum time to restore full CostOS functionality. | ≤ 4 hours |
RPO (Recovery Point Objective) | Maximum allowable data loss. | ≤ 30 minutes (transaction log frequency) |
9. Roles and Responsibilities
Role | Responsibilities |
|---|---|
Database Administrator (DBA) | Manage backups, verify integrity, and restore both databases. |
System Administrator | Reinstall OS and CostOS; configure connection to both databases. |
IT Manager | Oversee the recovery process, approve testing, and sign off completion. |
Security Officer | Ensure encryption, access controls, and compliance. |
10. Documentation and Logs
Backup job logs and restoration test results retained for 12 months.
All recovery activities documented in the IT Change Management System.
Each restoration or test must be reviewed and approved by the IT Manager.
11. Conclusion
The CostOS Backup and Disaster Recovery Plan guarantees full recovery capability for both the Master and Project databases.
Through regular encrypted backups, verified restores, and simple reinstallation using the official CostOS installer, the system can achieve 100% data and functionality recovery with minimal downtime.