Backup & Recovery Procedures
Backup and disaster recovery strategies for California businesses: scheduling, offsite storage, retention policies, and regular recovery testing.
Let's start with the scariest statistic in IT: 60% of businesses that lose their data shut down within six months. Not might shut down—do shut down. Permanently.
We've been doing IT in the Central Valley for 15+ years, and we've seen everything: fires, floods, ransomware, employee sabotage, and the classic "I thought someone else was managing backups." The businesses that survived? They had tested, working backups. The ones that didn't? Some of them aren't around anymore.
Your backup strategy isn't about technology. It's about whether your business survives the next disaster.
Why Most Backup Strategies Fail
"We're backing up to that external drive." Which external drive? Where is it? When was it last tested? Who's responsible for it? If you can't answer these questions immediately, you don't have a backup strategy—you have wishful thinking.
"We're using [cloud service]." Great! When did you last test a restore? What's your RTO (Recovery Time Objective) if your server dies right now? How long to get back online? If the answer is "I don't know," your backup strategy has holes.
"IT handles it." Which person in IT? What happens when they're on vacation, sick, or quit? Is the process documented? Are passwords stored securely?
The 3-2-1 Rule (Non-Negotiable)
Three copies of your data (production + two backups)
Two different types of media (local disk + cloud, or local disk + tape)
One copy offsite (not in the same building as your servers)
This isn't paranoia—this is survival. Here's why:
Local backups restore fast. When your file server dies at 9 AM, you can be back online in hours, not days. But local backups don't help if the building burns down.
Cloud backups survive disasters that destroy your building. Fire, flood, theft—your data is safe. But cloud restores are slower, especially for large amounts of data.
Multiple backup types protect against different failure scenarios. Ransomware that encrypts your local backups can't touch your offline or cloud copies.
A medical practice in Modesto learned this the hard way. Ransomware encrypted their file server and their backup NAS sitting right next to it (connected to the same network). No offsite copies. They paid $85,000 in ransom and still lost data. Don't be them.
Understanding Recovery Objectives (In Plain English)
RTO: Recovery Time Objective
Translation: How long can you survive without this system?
Your email server? Probably 4 hours before business impact becomes severe.
Your accounting database? Maybe 24 hours if it's not month-end, maybe 1 hour if it is.
Your file server? Depends on what's on it. Customer contracts? Critical. Old memos? Less so.
Why this matters: Your RTO determines your backup strategy. Need 1-hour RTO? You need fast local backups or high-availability systems. Can tolerate 24-hour RTO? More options available.
RPO: Recovery Point Objective
Translation: How much data can you afford to lose?
Financial transactions? Zero. Real-time replication or transaction log backups every few minutes.
Email? Maybe an hour's worth.
File server documents? Depends—contracts and proposals? Minutes. Meeting notes? Maybe a day.
Real example: A construction company in Tracy backed up nightly at 11 PM. Their estimating database crashed at 4 PM. They lost 5 hours of bid data—three competitive bids they couldn't recreate. They lost all three contracts. Now they backup every 2 hours during business hours.
Backup Strategy by Business Size
Small Business (Under 25 People)
Recommended approach:
- Image-based backups of key servers (file server, database server)
- Cloud backup as primary (Datto, Veeam Cloud Connect, Azure Backup)
- External USB drive rotated offsite weekly as secondary
- Daily backup schedule during non-business hours
- Monthly test restores
Budget: $100-500/month depending on data size
Real setup for a 15-person CPA firm:
- Veeam backing up to local NAS (4-hour full backup nightly)
- Same backup copied to Wasabi cloud storage (offsite protection)
- Quarterly full server recovery test
- Cost: $240/month
Mid-Size Business (25-100 People)
Recommended approach:
- Enterprise backup solution (Veeam, Datto, Backup Exec)
- Local backup appliance with deduplication
- Cloud replication for DR
- Application-aware backups for databases
- Automated backup testing
- 4-hour RTO for critical systems
Budget: $500-2,000/month
Real setup for a 60-person distribution company:
- Datto backup appliance backing up 6 servers
- Local virtualization for instant recovery
- Cloud failover capability
- SQL-aware backups with transaction log shipping
- Monthly DR testing
- Cost: $1,200/month
Setting Up Backups That Actually Work
Windows Server Backup (Free but Basic)
Good for simple file server backups, not ideal for application servers.
# Install Windows Server Backup
Install-WindowsFeature -Name Windows-Server-Backup -IncludeManagementTools
# Create full server backup policy
$policy = New-WBPolicy
# Add all critical volumes
$volumes = Get-WBVolume -AllVolumes | Where-Object {$_.MountPath -in @("C:","D:","E:")}
Add-WBVolume -Policy $policy -Volume $volumes
# Add system state (critical for domain controllers)
Add-WBSystemState -Policy $policy
# Set backup destination (network share or dedicated drive)
$backupLocation = New-WBBackupTarget -NetworkPath "\\\\backupserver\\backups\\server01" -Credential $credential
Add-WBBackupTarget -Policy $policy -Target $backupLocation
# Schedule daily backups at 2 AM and 2 PM
$schedule = New-WBSchedule -DaysOfWeek Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday -Times "02:00","14:00"
Set-WBSchedule -Policy $policy -Schedule $schedule
# Apply the policy
Set-WBPolicy -Policy $policy -Force
# Start immediate backup to test
Start-WBBackup -Policy $policy
Limitations:
- No deduplication (uses lots of storage)
- No compression (slower transfers)
- No application awareness (problematic for databases)
- Basic retention (no grandfather-father-son schemes)
For serious business use, invest in proper backup software.
SQL Server Backup (For Database Servers)
Databases need special handling—file-level backups of database files don't work.
-- Full database backup (do nightly)
BACKUP DATABASE [CustomerDB]
TO DISK = N'E:\\Backups\\CustomerDB_Full.bak'
WITH COMPRESSION,
INIT, -- Overwrite existing backup file
NAME = N'CustomerDB-Full Backup',
STATS = 10; -- Show progress every 10%
-- Differential backup (do throughout the day)
BACKUP DATABASE [CustomerDB]
TO DISK = N'E:\\Backups\\CustomerDB_Diff.bak'
WITH DIFFERENTIAL,
COMPRESSION,
INIT,
NAME = N'CustomerDB-Differential Backup';
-- Transaction log backup (every 15-30 minutes for minimal data loss)
BACKUP LOG [CustomerDB]
TO DISK = N'E:\\Backups\\CustomerDB_Log.trn'
WITH COMPRESSION,
INIT,
NAME = N'CustomerDB-Log Backup';
Backup schedule for mission-critical database:
- Full backup: Nightly at 11 PM
- Differential backups: Every 6 hours (5 AM, 11 AM, 5 PM)
- Log backups: Every 15 minutes during business hours
Why: If the database crashes at 4:45 PM, you restore last night's full backup, today's 11 AM differential, and transaction logs up to 4:30 PM. You lose a maximum of 15 minutes of data.
An accounting firm in Lodi implemented this for their practice management software. When their database got corrupted during tax season, they restored to 10 minutes before the corruption. Total data loss: one client entry. Total downtime: 45 minutes. Without transaction log backups, they would have lost the entire day's work.
Backup Testing (The Part Everyone Skips)
Painful truth: Untested backups are worse than no backups. They give you false confidence.
We've responded to disasters where businesses had years of "good" backups that had never been tested. When they needed to restore, they discovered:
- Backup files were corrupt
- Backup software had been silently failing for months
- Backups didn't include critical data
- Nobody remembered how to restore
- Restore passwords were lost
Monthly Test Restore
Minimum viable testing (takes 30 minutes):
# Automated backup validation script
function Test-BackupIntegrity {
param(
[string]$BackupPath = "\\\\backupserver\\backups"
)
$TestResults = @()
# Get all backup files from last 7 days
$RecentBackups = Get-ChildItem -Path $BackupPath -Filter "*.bak" |
Where-Object {$_.LastWriteTime -gt (Get-Date).AddDays(-7)} |
Sort-Object LastWriteTime -Descending
foreach ($Backup in $RecentBackups) {
Write-Host "Testing backup: $($Backup.Name)"
# Attempt to read backup file
try {
$file = [System.IO.File]::OpenRead($Backup.FullName)
$file.Close()
$TestResults += [PSCustomObject]@{
BackupFile = $Backup.Name
Size = "{0:N2} GB" -f ($Backup.Length / 1GB)
Date = $Backup.LastWriteTime
Status = "Readable"
Tested = Get-Date
}
}
catch {
$TestResults += [PSCustomObject]@{
BackupFile = $Backup.Name
Size = "{0:N2} GB" -f ($Backup.Length / 1GB)
Date = $Backup.LastWriteTime
Status = "FAILED - Cannot read file"
Tested = Get-Date
}
# Send alert email
Send-MailMessage -To "it@yourcompany.com" -From "backups@yourcompany.com" `
-Subject "BACKUP TEST FAILED: $($Backup.Name)" `
-Body "Backup file $($Backup.Name) failed integrity check" `
-SmtpServer "smtp.yourcompany.com"
}
}
# Export test results
$TestResults | Export-Csv "C:\\BackupTests\\Test_$(Get-Date -Format 'yyyyMMdd').csv" -NoTypeInformation
return $TestResults
}
# Schedule monthly test
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\\Scripts\\Test-BackupIntegrity.ps1"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Saturday -WeeksInterval 4 -At "08:00"
Register-ScheduledTask -TaskName "Monthly Backup Validation" -Action $action -Trigger $trigger
Quarterly Full Recovery Test
The real test: Actually restore a server completely.
- Pick a non-critical server or VM
- Restore from backup to test environment
- Verify application functionality
- Document time required
- Update recovery procedures based on what you learned
Why quarterly? Staff turnover, software updates, infrastructure changes—your restore process changes over time. Test it regularly.
Cloud Backup Best Practices
Choosing a Cloud Backup Provider
What actually matters:
- Geographic redundancy: Your data stored in multiple regions
- Encryption: At rest and in transit, with your own encryption keys
- Retention policies: How long are backups kept?
- Restore speed: How fast can you download large amounts of data?
- Pricing model: Per GB, per server, or flat rate?
Popular options we recommend:
- Wasabi: Cheap storage ($6/TB/month), no egress fees, good for Veeam
- Azure Backup: Native integration with Windows Server, scales well
- Backblaze B2: Simple, affordable, good for SMBs
- Datto: All-in-one backup appliance + cloud, excellent for instant recovery
Dealing with Large Restores
The dirty secret of cloud backups: Uploading is easy. Downloading 2TB over your business internet connection? That's 48+ hours on a 100 Mbps connection.
Solutions:
- Seed backups: Send an initial backup on a hard drive to avoid huge uploads
- Incremental forever: After initial seed, only changes upload
- Local cache: Datto and similar keep local copies for instant restores
- Restore expedite services: AWS Snowball, Azure Data Box—they ship you your data on drives
A car dealership in Modesto had 5TB of data in cloud backup. When their server died, full cloud restore would have taken 5 days. Datto's local appliance had them back online in 4 hours.
Ransomware Protection in Your Backup Strategy
Ransomware is the #1 disaster scenario now. Your backup strategy must account for it.
Critical requirements:
- Immutable backups: Can't be encrypted or deleted once created
- Offline/air-gapped copies: Not accessible from your network
- Multiple generations: Keep 30+ days of backups
- Alert on changes: Know immediately if backup files are accessed unexpectedly
Veeam immutable backup configuration:
# Configure immutable Linux repository (can't be encrypted from Windows)
# Backups stored on Linux server, immutable for 30 days
Add-VBRBackupRepository -Name "Immutable-Repo" -Server "linux-backup.local" -Type Linux -ImmutabilityPeriod 30
Document Everything
Your backup strategy is worthless if only one person understands it.
Required documentation:
- What's backed up, how often, and where
- Retention policies for each system
- Step-by-step restore procedures (with screenshots)
- Passwords and encryption keys (stored securely)
- Contact information for backup vendor support
- Recent test restore results
Store this documentation in multiple places—including offline (printed binder).
The Real Cost of Backup vs The Real Cost of Data Loss
Proper backup infrastructure for 50-person business:
- Backup appliance: $3,000-10,000 (one-time)
- Cloud storage: $200-800/month
- Backup software licenses: $100-300/month
- Annual cost: ~$5,000-15,000
Cost of major data loss:
- Ransomware recovery: $50,000-500,000+ (ransom + recovery + lost business)
- Natural disaster with no backups: Business closure
- Regulatory fines for lost data: $50,000-5,000,000+ depending on industry
- Lost customer trust: Immeasurable
The math isn't close. Proper backups are cheap insurance.
Getting Your Backup Strategy Right
We've helped dozens of businesses across the Central Valley build backup strategies that survive real disasters.
Need help? We'll assess your risks, design a multi-tier backup solution, set up automated testing, and document everything so you're never one disaster away from losing your business.
Related Documentation
Active Directory Management
Manage users, groups, and security policies in Active Directory. Covers AD setup, group policy, permission management, and troubleshooting for businesses.
Server Monitoring & Alerts
Set up comprehensive server monitoring and alerting for California businesses. Covers CPU, memory, disk, and network metrics with automated alert configuration.
Need Help Implementing This?
Our technical experts can help you implement these solutions in your environment.