Tools: BorgBackup Has a Free Deduplicating Backup Program - Full Analysis
What Is BorgBackup?
How Deduplication Saves Space
Quick Start
Install
Initialize Repository
Create a Backup
List Backups
Restore Files
Mount Backups as Filesystem
Automated Backup Script
Compression Options
Storage Comparison
BorgBase: Managed Hosting
Who Uses Borg?
Get Started BorgBackup (Borg) is a free, open-source deduplicating backup program with compression and authenticated encryption. BorgBackup is the backup tool that serious sysadmins use. It provides space-efficient storage through deduplication — only unique data chunks are stored, regardless of how many backups you make. Traditional backup of a 10GB project: Borg backup of the same project: That's 95% less storage. This is Borg's killer feature: Add to cron: 0 3 * * * /home/user/backup.sh BorgBase offers free hosted Borg repositories: With 11K+ GitHub stars: Your backups will be encrypted, deduplicated, and compressed. Restore any file from any point in time. Need to back up web data automatically? Check out my web scraping tools on Apify — collect and store data from any website on schedule. Custom solutions: [email protected] Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse
# Ubuntu/Debian
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install borgbackup # macOS
-weight: 500;">brew -weight: 500;">install borgbackup # Arch
-weight: 600;">sudo -weight: 500;">pacman -S borg
# Ubuntu/Debian
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install borgbackup # macOS
-weight: 500;">brew -weight: 500;">install borgbackup # Arch
-weight: 600;">sudo -weight: 500;">pacman -S borg
# Ubuntu/Debian
-weight: 600;">sudo -weight: 500;">apt -weight: 500;">install borgbackup # macOS
-weight: 500;">brew -weight: 500;">install borgbackup # Arch
-weight: 600;">sudo -weight: 500;">pacman -S borg
# Local repository with encryption
borg init --encryption=repokey /backup/my-borg-repo # Remote repository via SSH
borg init --encryption=repokey user@server:/backup/my-repo
# Local repository with encryption
borg init --encryption=repokey /backup/my-borg-repo # Remote repository via SSH
borg init --encryption=repokey user@server:/backup/my-repo
# Local repository with encryption
borg init --encryption=repokey /backup/my-borg-repo # Remote repository via SSH
borg init --encryption=repokey user@server:/backup/my-repo
borg create /backup/my-repo::backup-{now} \ /home/user/projects \ /home/user/documents \ --exclude *.pyc \ --exclude __pycache__ \ --exclude node_modules
borg create /backup/my-repo::backup-{now} \ /home/user/projects \ /home/user/documents \ --exclude *.pyc \ --exclude __pycache__ \ --exclude node_modules
borg create /backup/my-repo::backup-{now} \ /home/user/projects \ /home/user/documents \ --exclude *.pyc \ --exclude __pycache__ \ --exclude node_modules
borg list /backup/my-repo
borg list /backup/my-repo
borg list /backup/my-repo
# Restore entire archive
borg extract /backup/my-repo::backup-2026-03-27 # Restore specific path
borg extract /backup/my-repo::backup-2026-03-27 home/user/projects/myapp
# Restore entire archive
borg extract /backup/my-repo::backup-2026-03-27 # Restore specific path
borg extract /backup/my-repo::backup-2026-03-27 home/user/projects/myapp
# Restore entire archive
borg extract /backup/my-repo::backup-2026-03-27 # Restore specific path
borg extract /backup/my-repo::backup-2026-03-27 home/user/projects/myapp
mkdir /mnt/borg
borg mount /backup/my-repo /mnt/borg # Browse all backups like normal folders
ls /mnt/borg/
# backup-2026-03-25 backup-2026-03-26 backup-2026-03-27 # Copy a single file from any backup
cp /mnt/borg/backup-2026-03-25/home/user/projects/config.yml ./ # Unmount when done
borg umount /mnt/borg
mkdir /mnt/borg
borg mount /backup/my-repo /mnt/borg # Browse all backups like normal folders
ls /mnt/borg/
# backup-2026-03-25 backup-2026-03-26 backup-2026-03-27 # Copy a single file from any backup
cp /mnt/borg/backup-2026-03-25/home/user/projects/config.yml ./ # Unmount when done
borg umount /mnt/borg
mkdir /mnt/borg
borg mount /backup/my-repo /mnt/borg # Browse all backups like normal folders
ls /mnt/borg/
# backup-2026-03-25 backup-2026-03-26 backup-2026-03-27 # Copy a single file from any backup
cp /mnt/borg/backup-2026-03-25/home/user/projects/config.yml ./ # Unmount when done
borg umount /mnt/borg
#!/bin/bash
export BORG_REPO="user@server:/backup/my-repo"
export BORG_PASSPHRASE="your-secure-passphrase" # Create backup
borg create ::backup-{now:%Y-%m-%d} /home/user/projects # Prune old backups
borg prune \ --keep-daily=7 \ --keep-weekly=4 \ --keep-monthly=6 # Compact repository
borg compact
#!/bin/bash
export BORG_REPO="user@server:/backup/my-repo"
export BORG_PASSPHRASE="your-secure-passphrase" # Create backup
borg create ::backup-{now:%Y-%m-%d} /home/user/projects # Prune old backups
borg prune \ --keep-daily=7 \ --keep-weekly=4 \ --keep-monthly=6 # Compact repository
borg compact
#!/bin/bash
export BORG_REPO="user@server:/backup/my-repo"
export BORG_PASSPHRASE="your-secure-passphrase" # Create backup
borg create ::backup-{now:%Y-%m-%d} /home/user/projects # Prune old backups
borg prune \ --keep-daily=7 \ --keep-weekly=4 \ --keep-monthly=6 # Compact repository
borg compact
# Fast compression (default)
borg create --compression lz4 ::backup-{now} /data # Best compression
borg create --compression zstd,19 ::backup-{now} /data # Auto-select based on file type
borg create --compression auto,zstd,6 ::backup-{now} /data
# Fast compression (default)
borg create --compression lz4 ::backup-{now} /data # Best compression
borg create --compression zstd,19 ::backup-{now} /data # Auto-select based on file type
borg create --compression auto,zstd,6 ::backup-{now} /data
# Fast compression (default)
borg create --compression lz4 ::backup-{now} /data # Best compression
borg create --compression zstd,19 ::backup-{now} /data # Auto-select based on file type
borg create --compression auto,zstd,6 ::backup-{now} /data - Content-defined deduplication (huge space savings)
- AES-256 authenticated encryption
- LZ4, zstd, zlib, lzma compression
- Remote backup via SSH
- Mountable archives (browse backups as filesystem)
- Free and open source (BSD license)
- Proven reliability (10+ years, used by major organizations) - Backup 1: 10GB
- Backup 2: 10GB (even if only 100MB changed)
- 30 daily backups: 300GB total - Backup 1: 10GB
- Backup 2: 100MB (only the changes)
- 30 daily backups: ~13GB total - Free tier: 10GB, 2 repositories
- Automatic monitoring and alerts
- Append-only mode for ransomware protection - System administrators backing up servers
- Developers with local backup workflows
- Companies needing encrypted, efficient backups
- NAS users (Synology, TrueNAS support) - Install borgbackup
- Initialize an encrypted repository
- Run your first backup
- Set up cron for automation