Skip to content

achryrn/daily-backup-software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Daily Backup Software

Coming Soon: Google Drive integration (OAuth authentication and cloud uploads) Job scheduling (cron-based automatic backups) System tray background operation with notifications Settings panel for configurable preferences Job templates for pre-configured scenarios Backup history viewer with detailed logs and statistics

Installation: Prerequisites Python 3.8 or higher Windows, macOS, or Linux

Install Dependencies pip install -r requirements.txt

Run the Application python main.py

Project Structure:

File/Folder Purpose
gui/ User interface components
main_window.py Main application window
job_wizard.py Backup job creation wizard
components/ Reusable UI components
core/ Core application logic
backup_engine.py Backup execution engine
database.py Database models and management
config.py Configuration management
connectors/ Target connectors (local/cloud)
local_target.py Local file system connector
gdrive_connector.py Google Drive connector (WIP)
utils/ Utility modules
crypto.py Encryption and credential management
logging_config.py Logging configuration
requirements.txt Python dependencies
main.py Application entry point
setup.py Package configuration
README.md Project documentation

Usage:

  • Creating a Backup Job
  • Launch the application and click New Job.
  • Sources Tab: Add folders or files you want to back up.
  • Include patterns: .docx;.xlsx
  • Exclude patterns: /temp/;*.tmp
  • Target Tab: Choose a backup destination.
  • Select "Local Folder" and browse to a location.
  • Configure conflict resolution policy.
  • Schedule Tab: Set up when backups should run.
  • Manual execution currently supported.
  • Automatic scheduling coming soon.
  • Create the job and run it immediately or later.

Running Backups: Select a job from the main window and click Run Job. Monitor progress in the Activity panel. View detailed logs in the activity feed. Stop running backups if needed.

Job Management: Right-click on jobs for context menu options. Edit job settings. Delete jobs when no longer needed. View execution history and statistics.

Development: Setting Up Clone the repository. Create a virtual environment: python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate Install dependencies: pip install -r requirements.txt Run the application: python main.py

Architecture: GUI Layer: PySide6-based interface Core Engine: Business logic and backup operations Data Layer: SQLAlchemy ORM with SQLite Connectors: Pluggable backup targets Utils: Logging, crypto, and configuration Database Schema backup_jobs: Job definitions job_executions: Run history and status file_transfers: File transfer records

Security: Secure credential storage with OS keyring SHA256 checksums for file integrity Atomic operations to prevent corruption Minimal file system permissions

Roadmap: Version 1.1 (Next Release) Google Drive OAuth integration Basic scheduling Settings dialog System tray integration Version 1.2 (Future) Advanced scheduling with cron expressions Backup compression and encryption Email notifications Multi-threaded transfers Version 2.0 (Long-term) Additional cloud providers (Dropbox, OneDrive) Incremental backups with deduplication Network location support Advanced reporting and analytics

Contributing: Contributions, bug reports, and feature requests are welcome. Fork the repository Create a feature branch Make your changes Add tests if applicable Submit a pull request

Support: For support, feel free to open an issue on the GitHub repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages