Skip to main content
    Main Menu
    Help & Info
    Company
    Back to Docs
    Server Management
    Playbook

    Backup & Recovery Procedures

    Backup and disaster recovery strategies for California businesses: scheduling, offsite storage, retention policies, and regular recovery testing.

    25 min read
    Playbook

    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.

    1. Pick a non-critical server or VM
    2. Restore from backup to test environment
    3. Verify application functionality
    4. Document time required
    5. 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.

    Was this helpful?
    Get Help

    Related Documentation

    Technical

    Active Directory Management

    Manage users, groups, and security policies in Active Directory. Covers AD setup, group policy, permission management, and troubleshooting for businesses.

    30 min read
    Guide

    Server Monitoring & Alerts

    Set up comprehensive server monitoring and alerting for California businesses. Covers CPU, memory, disk, and network metrics with automated alert configuration.

    20 min read

    Need Help Implementing This?

    Our technical experts can help you implement these solutions in your environment.