Skip to content

NovrusShehaj/LinuxMintBackup

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

LinuxMintBackup πŸ—„οΈπŸ§

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.


πŸ“Œ Features

  • βœ… Incremental backups using rsync
  • πŸ“ Timestamped snapshot directories
  • πŸ”— latest symlink for easy restores
  • 🧾 Configurable sources, exclusions, and destination
  • πŸ“ Detailed logging
  • ⏱️ Optional automation via systemd timer
  • πŸ›‘οΈ Safe-by-design testing workflow (supports dry runs)

πŸ“‚ Project Structure

LinuxMintBackup/
β”œβ”€β”€ backup.py
β”œβ”€β”€ config.json
β”œβ”€β”€ logs/
β”œβ”€β”€ .gitignore
└── README.md

βš™οΈ Requirements

  • Linux Mint (or any modern Linux distribution)
  • Python 3.8+
  • rsync

Install rsync if needed:

sudo apt install rsync

πŸ”§ Configuration

Edit 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"
}

▢️ Usage

python3 backup.py

πŸ” Security Notes

  • Do NOT commit backup data to Git
  • Ensure .gitignore excludes backup destinations and logs

πŸ§‘β€πŸ’» Author

Novrus Shehaj
GitHub: https://github.com/NovrusShehaj


πŸ“œ License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages