Windows built-in backup tools are limited, and OneDrive's free tier quickly runs out. For reliable, affordable off-site backup of your Windows PC, S3-compatible storage is the answer.
This guide covers three methods to back up Windows to S3: Duplicati (free and feature-rich), rclone (powerful CLI tool), and CloudBerry/MSP360 (enterprise features).
Why Back Up Windows to S3?
| Feature | Windows Backup | OneDrive | S3 Storage |
|---|---|---|---|
| Off-site Protection | No | Yes | Yes |
| Free Storage | N/A (local) | 5GB | 1TB (DanubeData) |
| Cost per TB | $50-100 drive | $9.99/mo | €3.99/mo |
| Encryption | BitLocker only | Microsoft holds keys | Client-side available |
| Versioning | Limited | 30 days | Unlimited |
| Ransomware Protection | Vulnerable | Limited | Version history protects |
What You'll Need
- Windows 10 or Windows 11
- S3-compatible storage credentials:
- Endpoint URL:
s3.danubedata.com - Access Key ID
- Secret Access Key
- Bucket name
- Endpoint URL:
Method 1: Duplicati (Recommended - Free)
Duplicati is the best free backup solution for Windows. It offers encryption, deduplication, VSS support for open files, and a web-based interface.
Key Features:
- 100% free and open source
- AES-256 encryption
- VSS (Volume Shadow Copy) for open files
- Deduplication saves storage
- Smart retention policies
- Web-based UI or command line
Step 1: Install Duplicati
- Download from duplicati.com/download
- Run the installer (choose "Install as Windows Service" for automatic startup)
- After installation, Duplicati opens in your browser at
http://localhost:8200
Step 2: Create Backup Job
- Click Add backup
- Select Configure a new backup
- Set backup name: "Windows PC Backup"
- Set a strong encryption passphrase (save this somewhere safe!)
- Click Next
Step 3: Configure S3 Destination
- Select S3 Compatible
- Configure connection:
# Duplicati S3-Compatible Configuration
Use SSL: Yes (checked)
Server (Custom): s3.danubedata.com
Bucket name: your-backup-bucket
Bucket create region: eu-central-1
Storage class: Standard
Client library to use: MinIO SDK
AWS Access ID: YOUR_ACCESS_KEY_ID
AWS Access Key: YOUR_SECRET_ACCESS_KEY
# Optional: Custom folder path
Folder path: windows-backup/pc-name
- Click Test connection
- Click Next
Step 4: Select Source Data
Choose what to back up:
# Essential Windows folders
✓ C:UsersYourNameDocuments
✓ C:UsersYourNameDesktop
✓ C:UsersYourNamePictures
✓ C:UsersYourNameVideos
✓ C:UsersYourNameDownloads
✓ C:UsersYourNameMusic
# Additional important locations
✓ C:UsersYourNameAppDataRoaming (app settings)
✓ D:Projects (if you have a projects drive)
✓ D:GamesSaves (game save files)
# Use filters to exclude
- *.tmp
- *.log
- Thumbs.db
- desktop.ini
- node_modules
- .git
Step 5: Configure Schedule
# Recommended schedule
Automatically run backups: Yes
Run: Daily at 2:00 AM
# Or more frequent for critical work
Run: Every 6 hours
Step 6: Set Retention Policy
# Smart retention keeps your backup efficient
Keep all backups: 7 days
Keep one backup per day: 30 days
Keep one backup per week: 6 months
Keep one backup per month: Forever
# Or use simple time-based retention
Delete backups older than: 90 days
Step 7: Advanced Options
# Recommended advanced settings
--vss # Enable VSS for open files
--snapshot-policy=auto # Auto VSS when needed
--upload-speed-limit=10MB # Limit bandwidth if needed
--concurrency-max-threads=4 # Parallel uploads
--retry-delay=10s # Retry on network issues
--number-of-retries=5
Step 8: Run First Backup
- Click Save
- Click Run now
- Monitor progress in the Duplicati web interface
- Initial backup may take hours depending on data size
Restoring from Duplicati
# From web interface:
1. Click "Restore" in the left menu
2. Select your backup configuration
3. Choose files/folders to restore
4. Select restore destination
5. Click "Restore"
# Restore to original location or alternate location
# Can restore specific file versions
Method 2: Rclone for Windows
Rclone is a powerful command-line tool that works great on Windows. It's free, fast, and highly scriptable.
Step 1: Install Rclone
# Option 1: Using Chocolatey (recommended)
choco install rclone
# Option 2: Using Scoop
scoop install rclone
# Option 3: Manual download
# Download from https://rclone.org/downloads/
# Extract to C:
clone
# Add C:
clone to system PATH
Step 2: Configure Rclone
Open PowerShell or Command Prompt:
# Start configuration
rclone config
# Follow prompts:
n) New remote
name> danubedata
Storage> s3
provider> Other
env_auth> false
access_key_id> YOUR_ACCESS_KEY_ID
secret_access_key> YOUR_SECRET_ACCESS_KEY
region> eu-central-1
endpoint> https://s3.danubedata.com
location_constraint> (leave empty)
acl> private
Edit advanced config?> n
Keep this remote?> y
q) Quit config
Step 3: Test Connection
# List buckets
rclone lsd danubedata:
# List bucket contents
rclone ls danubedata:your-bucket
Step 4: Basic Backup Commands
# Sync Documents (PowerShell)
rclone sync "$env:USERPROFILEDocuments" danubedata:your-bucket/windows/documents --progress
# Sync with exclusions
rclone sync "$env:USERPROFILEDocuments" danubedata:your-bucket/windows/documents `
--exclude "*.tmp" `
--exclude "desktop.ini" `
--exclude "Thumbs.db" `
--progress
# Dry run (see what would happen)
rclone sync "$env:USERPROFILEDocuments" danubedata:your-bucket/windows/documents --dry-run
# Limit bandwidth (5 MB/s)
rclone sync "$env:USERPROFILEDocuments" danubedata:your-bucket/windows/documents `
--bwlimit 5M --progress
Step 5: Create Backup Script
Create C:Scriptsackup-windows.ps1:
# Windows to S3 Backup Script
# Save as C:Scriptsackup-windows.ps1
$BUCKET = "your-bucket"
$REMOTE = "danubedata"
$LOG_FILE = "$env:USERPROFILEackup-log.txt"
$DATE = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
# Start logging
Add-Content $LOG_FILE "=== Backup started: $DATE ==="
# Backup Documents
Write-Host "Backing up Documents..."
rclone sync "$env:USERPROFILEDocuments" "${REMOTE}:${BUCKET}/windows/documents" `
--exclude "*.tmp" `
--exclude "desktop.ini" `
--log-file $LOG_FILE `
--log-level INFO
# Backup Desktop
Write-Host "Backing up Desktop..."
rclone sync "$env:USERPROFILEDesktop" "${REMOTE}:${BUCKET}/windows/desktop" `
--exclude "desktop.ini" `
--log-file $LOG_FILE `
--log-level INFO
# Backup Pictures
Write-Host "Backing up Pictures..."
rclone sync "$env:USERPROFILEPictures" "${REMOTE}:${BUCKET}/windows/pictures" `
--exclude "Thumbs.db" `
--log-file $LOG_FILE `
--log-level INFO
# Backup Videos
Write-Host "Backing up Videos..."
rclone sync "$env:USERPROFILEVideos" "${REMOTE}:${BUCKET}/windows/videos" `
--log-file $LOG_FILE `
--log-level INFO
# Backup Downloads (optional - can be large)
# Write-Host "Backing up Downloads..."
# rclone sync "$env:USERPROFILEDownloads" "${REMOTE}:${BUCKET}/windows/downloads" `
# --log-file $LOG_FILE `
# --log-level INFO
# Backup AppDataRoaming (app settings)
Write-Host "Backing up AppData..."
rclone sync "$env:APPDATA" "${REMOTE}:${BUCKET}/windows/appdata" `
--exclude "*.tmp" `
--exclude "*.log" `
--exclude "Cache/**" `
--exclude "CachedData/**" `
--log-file $LOG_FILE `
--log-level INFO
# If you have a Projects folder
if (Test-Path "D:Projects") {
Write-Host "Backing up Projects..."
rclone sync "D:Projects" "${REMOTE}:${BUCKET}/windows/projects" `
--exclude "node_modules/**" `
--exclude "vendor/**" `
--exclude ".git/**" `
--exclude "*.log" `
--log-file $LOG_FILE `
--log-level INFO
}
$END_DATE = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
Add-Content $LOG_FILE "=== Backup completed: $END_DATE ==="
# Show Windows notification
[System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$notification = New-Object System.Windows.Forms.NotifyIcon
$notification.Icon = [System.Drawing.SystemIcons]::Information
$notification.BalloonTipTitle = "Backup Complete"
$notification.BalloonTipText = "Windows backup to S3 finished successfully"
$notification.Visible = $true
$notification.ShowBalloonTip(5000)
Write-Host "Backup completed!"
Step 6: Schedule with Task Scheduler
- Open Task Scheduler (search in Start Menu)
- Click Create Task (not Basic Task)
- Configure General tab:
Name: S3 Backup
Description: Daily backup to S3 storage
Run whether user is logged on or not: Yes
Run with highest privileges: Yes
- Configure Triggers tab:
New Trigger:
Begin the task: On a schedule
Daily, at 3:00 AM
Repeat every: 1 day
Enabled: Yes
- Configure Actions tab:
Action: Start a program
Program/script: powershell.exe
Arguments: -ExecutionPolicy Bypass -File "C:Scriptsackup-windows.ps1"
Start in: C:Scripts
- Configure Conditions tab:
Start only if computer is on AC power: Optional
Wake computer to run this task: Optional
Start only if network connection is available: Yes
- Click OK and enter your Windows password
Method 3: MSP360 (CloudBerry) Backup
MSP360 Backup (formerly CloudBerry) offers enterprise features like bare-metal recovery, image-based backup, and central management.
Key Features:
- Image-based backup (full system recovery)
- VSS for open files
- Block-level backup
- Ransomware protection
- Central management console
Setup Steps:
- Download from msp360.com/backup
- Install and launch
- Click Add Account → S3 Compatible
- Configure:
# MSP360 S3 Configuration
Display Name: DanubeData
Service Point: s3.danubedata.com
Access Key: YOUR_ACCESS_KEY
Secret Key: YOUR_SECRET_KEY
Use SSL: Yes
Signature Version: 4
- Create backup plan (File Backup or Image Backup)
- Select folders and schedule
Which Windows Folders to Back Up
| Folder | Priority | Notes |
|---|---|---|
Documents |
Critical | All user documents |
Desktop |
Critical | Desktop files |
Pictures |
High | Photos and images |
Videos |
High | Large - selective backup |
AppDataRoaming |
Medium | App settings, exclude caches |
Downloads |
Medium | Usually recreatable |
Game Saves |
High | %USERPROFILE%Saved Games |
Projects |
Critical | Exclude node_modules, .git |
Files to Exclude from Backup
# Common Windows exclusions
desktop.ini
Thumbs.db
*.tmp
*.temp
*.log
~$* # Office temporary files
*.bak
# Development folders (recreatable)
node_modules
vendor
.git
bin
obj
packages
# Browser caches
*Cache*
*CachedData*
*Code Cache*
# System folders
$RECYCLE.BIN
System Volume Information
pagefile.sys
hiberfil.sys
swapfile.sys
Ransomware Protection
S3 versioning protects against ransomware. Even if files get encrypted, you can restore previous versions:
Enable Bucket Versioning
# Using AWS CLI
aws s3api put-bucket-versioning `
--bucket your-bucket `
--versioning-configuration Status=Enabled `
--endpoint-url https://s3.danubedata.com
Recovery After Ransomware
# List all versions of a file
rclone ls danubedata:your-bucket/windows/documents/important.docx --s3-versions
# Restore specific version
rclone copy danubedata:your-bucket/windows/documents/important.docx `
C:Restored --s3-version-id "VERSION_ID"
Comparison: Which Method?
| Feature | Duplicati | Rclone | MSP360 |
|---|---|---|---|
| Cost | Free | Free | $49.99+ |
| GUI | Web UI | CLI | Native app |
| VSS Support | Yes | No | Yes |
| Encryption | Built-in | Via crypt | Built-in |
| Image Backup | No | No | Yes |
| Best For | Most users | Power users | Business/IT |
Get Started Today
Protect your Windows PC with reliable off-site backup:
- Create a DanubeData account
- Create a storage bucket
- Generate access keys
- Install Duplicati and follow this guide
👉 Create Your Backup Bucket - €3.99/month includes 1TB storage
Don't wait until your hard drive fails or ransomware strikes. Set up S3 backup today.
Need help with Windows backup? Contact our team for assistance.