Zero-dependency file backup utility with incremental backups, compression, and restore.
The Story: A freelance developer lost 3 months of client work when their SSD died. No backups. They rebuilt everything from memory. This tool exists so that never happens to you — or anyone you work with.
- Full & Incremental backups — only backup what changed (saves time + space)
- Compression — ZIP or tar.gz output
- Exclude patterns — skip
node_modules,.git,.envautomatically - Restore — restore any backup to any directory
- Backup rotation — automatically clean old backups (keep last N)
- Dry-run mode — preview what would be backed up
- Manifest tracking — every backup includes file hashes for integrity
- Zero dependencies — pure Python 3, nothing to install
# Full backup
python backup_tool.py backup ~/projects ~/backups
# Incremental backup (only changed files)
python backup_tool.py backup ~/projects ~/backups --incremental
# Dry run — see what would be backed up
python backup_tool.py backup ~/projects ~/backups --dry-run
# List all backups
python backup_tool.py list ~/backups
# Restore from backup
python backup_tool.py restore ~/backups/backup_20260325_120000.zip ~/restored
# Clean old backups (keep last 5)
python backup_tool.py cleanup ~/backups --keep 5backup <source> <dest>
--incremental, -i Only backup changed files
--format, -f zip (default) or tar.gz
--exclude, -e Additional exclude patterns
--dry-run Preview without creating backup
restore <archive> <dest>
Extracts backup to destination directory
list <dest>
Shows all backups with type, date, files count, size
cleanup <dest>
--keep, -k N Keep last N backups (default: 5)
Automatically skipped: __pycache__, .git, .DS_Store, *.pyc, node_modules, .env, *.tmp, *.log, .venv, venv
# Daily incremental backup at 2 AM
0 2 * * * python3 /path/to/backup_tool.py backup /home/user/projects /home/user/backups -i
# Weekly full backup + cleanup on Sunday
0 3 * * 0 python3 /path/to/backup_tool.py backup /home/user/projects /home/user/backups && python3 /path/to/backup_tool.py cleanup /home/user/backups --keep 4- Scans source directory and calculates MD5 hash for each file
- Compares against manifest from last backup
- Only archives files with changed hashes
- Stores full manifest for next comparison
- Developer workstation backup — protect code, configs, notes
- Server config backup —
/etc, cron jobs, nginx configs - Database dump rotation — backup SQL dumps, keep last 7 days
- CI/CD artifact archival — compress and rotate build outputs
- Photo/media backup — incremental backup of large media folders
- python-file-organizer — auto-sort files by type
- python-system-monitor — CPU/RAM/disk dashboard
- python-log-analyzer — parse and analyze log files
- awesome-python-automation-2026 — curated list of Python tools
MIT — use it, modify it, backup everything.
I build production-ready scrapers, APIs, and data tools — 78+ deployed on Apify, 270+ open-source repos.
📧 spinov001@gmail.com — $250 flat rate, 48h delivery. Describe your project, get a free estimate in 2 hours.