A Python-based automation tool for creating incremental, timestamped
backups on Linux Mint using rsync.
Designed to be safe, configurable, and production-ready, with
support for logging and optional systemd automation.
- ✅ Incremental backups using
rsync - 📁 Timestamped snapshot directories
- 🔗
latestsymlink for easy restores - 🧾 Configurable sources, exclusions, and destination
- 📝 Detailed logging
- ⏱️ Optional automation via
systemdtimer - 🛡️ Safe-by-design testing workflow (supports dry runs)
LinuxMintBackup/
├── backup.py
├── config.json
├── logs/
├── .gitignore
└── README.md
- Linux Mint (or any modern Linux distribution)
- Python 3.8+
- rsync
Install rsync if needed:
sudo apt install rsyncEdit config.json to define what gets backed up:
{
"sources": ["/home/youruser", "/etc"],
"exclude": ["/home/youruser/.cache", "/home/youruser/.local/share/Trash"],
"destination": "/mnt/backup/linux-mint",
"log_file": "/home/youruser/LinuxMintBackup/logs/backup.log"
}python3 backup.py- Do NOT commit backup data to Git
- Ensure
.gitignoreexcludes backup destinations and logs
Novrus Shehaj
GitHub: https://github.com/NovrusShehaj
MIT License