/SafeArchive

Allows you to backup your essential local files (+cloud support) quickly and schedule past backup deletions to optimize storage space.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Icon
SafeArchive


Allows you to backup your essential local files (+cloud support) quickly and schedule past backup deletions to optimize storage space.

How to Download: Click the "Releases" link on the right, then on the latest release, under 'Assets' click to download the zip file. (You might have to click "Assets" to view the files for the release)

Note: No matter the settings, the program runs completely locally on your own machine using the API key and Google Cloud project you created yourself, so even as the program's creator I will never have access to your account.

  • For the first run, I recommend you to exit the program after setting your preferences, so changes to be applied.

Features

  • Zip (backup) source path files to destination path
    • Compression method: ZIP_DEFLATED
    • allowZip64 is set to True (this parameter use the ZIP64 extensions when the zip file is larger than 4gb)
    • Compresslevel is set to 9 (its sometimes really slow when source path files are too large, saves storage space)
  • Set expiry date for old backups
  • Get backup size
  • Added cloud support (Google Drive)
  • Separate backup process from the main one (GUI) by creating a new thread to prevent script crash
  • Add system tray icon to hide the main window instead of terminating it when clicking the X button upper-right. Specifically, a taskbar icon appears with options to backup your files from anywhere without opening the GUI window, open the GUI window and exit the script
  • Restore past backups to their original location
  • Pop up system notifications when backup process completes, selected backup restored successfully, drive or cloud storage is running out, and drive hasn't reconnected for too long.

Manual Setup

  1. Download or clone the repo and install the requirements using:

    $ pip install -r requirements.txt
  2. How to Run:

    $ python3 main.py

Screenshots

Software Startup
(Drive Properties, Backup Options)


Software Startup (Drive Properties, Backup Options)

Restore Selected Backup


Restore Selected Backup

System Tray Icon
(Taskbar Icon)


System Tray Icon (Taskbar Icon)

Obtaining API Key

To sync your backups to your cloud account (Google Drive), you will need an "Oauth2" credential to make the GUI switch to work.