SXXXXXXX_BackupTools/README.md
2025-05-07 14:40:55 +02:00

96 lines
6.0 KiB
Markdown

# Backup Manager Pro
## English
### Overview
Backup Manager Pro is a user-friendly desktop application designed to help you easily create compressed backup archives (ZIP files) of your important folders. It offers a graphical interface to manage backup configurations, define exclusion rules, and organize different backup tasks using profiles.
This tool is ideal for users who need a simple yet effective way to back up project files, documents, or any other critical data to a local or network drive.
### Features
* **Intuitive Graphical User Interface (GUI):** Easy-to-use interface built with Tkinter.
* **Source and Destination Selection:** Easily browse and select source folders for backup and destination folders for the archives.
* **File Exclusion Rules:** Define comma-separated patterns (e.g., `*.log`, `.tmp`, `node_modules/`) to exclude specific files or folders from your backups.
* **Profile Management:**
* Save different backup configurations (source, destination, exclusions, description) as named profiles.
* Quickly load profiles to switch between backup tasks.
* Update and delete existing profiles.
* **Backup Description:** Add an optional description to each backup archive for better identification.
* **Progress Indication:** Visual progress bars for file scanning and ZIP archive creation.
* **Detailed Backup Summary:** Before finalizing the backup, view details about included/excluded files and statistics by file extension.
* **Timestamped Archives:** Backup ZIP files are automatically named with a timestamp and the source folder name for easy organization (e.g., `YYYYMMDD_HHMMSS_MyProject.zip`).
* **Background Operations:** File scanning and zipping processes run in separate threads to keep the UI responsive.
* **Configuration Persistence:** All profiles and the last used settings are saved locally in a `backup_config.json` file.
### Technology Stack
* **Python 3**
* **Tkinter** (for the GUI, part of Python's standard library)
* Standard Python libraries for file operations (`os`, `pathlib`, `shutil`) and ZIP creation (`zipfile`).
### Getting Started
1. **Prerequisites:**
* Python 3 installed on your system.
* (Optional for development/running from source) Familiarity with running Python scripts.
2. **Running the Application:**
* If you have an executable version (e.g., created with PyInstaller), simply run the executable.
* To run from source:
1. Clone or download the repository.
2. Navigate to the project's root directory (e.g., `BackupApp/`).
3. Ensure all Python package dependencies (if any beyond standard library) are installed.
4. Run the application using: `python -m backup_app`
(Assuming `backup_app` is the name of the main Python package folder).
---
<br>
## Italiano
### Panoramica
Backup Manager Pro è un'applicazione desktop intuitiva progettata per aiutarti a creare facilmente archivi di backup compressi (file ZIP) delle tue cartelle importanti. Offre un'interfaccia grafica per gestire le configurazioni di backup, definire regole di esclusione e organizzare diverse attività di backup utilizzando i profili.
Questo strumento è ideale per gli utenti che necessitano di un modo semplice ma efficace per eseguire il backup di file di progetto, documenti o qualsiasi altro dato critico su un'unità locale o di rete.
### Funzionalità
* **Interfaccia Utente Grafica (GUI) Intuitiva:** Interfaccia facile da usare costruita con Tkinter.
* **Selezione Sorgente e Destinazione:** Sfoglia e seleziona facilmente le cartelle sorgente per il backup e le cartelle di destinazione per gli archivi.
* **Regole di Esclusione File:** Definisci pattern separati da virgola (es., `*.log`, `.tmp`, `node_modules/`) per escludere file o cartelle specifiche dai tuoi backup.
* **Gestione Profili:**
* Salva diverse configurazioni di backup (sorgente, destinazione, esclusioni, descrizione) come profili nominati.
* Carica rapidamente i profili per passare da un'attività di backup all'altra.
* Aggiorna ed elimina i profili esistenti.
* **Descrizione Backup:** Aggiungi una descrizione opzionale a ciascun archivio di backup per una migliore identificazione.
* **Indicazione di Progresso:** Barre di progresso visive per la scansione dei file e la creazione dell'archivio ZIP.
* **Riepilogo Dettagliato del Backup:** Prima di finalizzare il backup, visualizza i dettagli sui file inclusi/esclusi e le statistiche per estensione di file.
* **Archivi con Timestamp:** I file ZIP di backup vengono automaticamente nominati con una marca temporale e il nome della cartella sorgente per una facile organizzazione (es., `AAAAMMGG_HHMMSS_MioProgetto.zip`).
* **Operazioni in Background:** I processi di scansione dei file e di compressione ZIP vengono eseguiti in thread separati per mantenere l'interfaccia utente reattiva.
* **Persistenza della Configurazione:** Tutti i profili e le ultime impostazioni utilizzate vengono salvati localmente in un file `backup_config.json`.
### Stack Tecnologico
* **Python 3**
* **Tkinter** (per la GUI, parte della libreria standard di Python)
* Librerie standard Python per operazioni sui file (`os`, `pathlib`, `shutil`) e creazione ZIP (`zipfile`).
### Come Iniziare
1. **Prerequisiti:**
* Python 3 installato sul tuo sistema.
* (Opzionale per sviluppo/esecuzione da sorgente) Familiarità con l'esecuzione di script Python.
2. **Esecuzione dell'Applicazione:**
* Se disponi di una versione eseguibile (ad esempio, creata con PyInstaller), esegui semplicemente l'eseguibile.
* Per eseguire da sorgente:
1. Clona o scarica il repository.
2. Naviga nella directory principale del progetto (es., `BackupApp/`).
3. Assicurati che tutte le dipendenze dei pacchetti Python (se presenti oltre alla libreria standard) siano installate.
4. Esegui l'applicazione utilizzando: `python -m backup_app`
(Assumendo che `backup_app` sia il nome della cartella principale del pacchetto Python).