AutoBackupTool lets you back up any local folder to Google Drive with a single click. When you start a backup, the app compresses your folder, encrypts the result with your Fernet key, and streams the encrypted file to Drive — all without blocking the GUI. This page walks you through launching the app and completing your first backup.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/Eraiyanbupeterfrancis/AutoBackupTool/llms.txt
Use this file to discover all available pages before exploring further.
Launch the app
Open a terminal in the project directory and run:Run a backup
Select a folder
Click Browse to open a folder picker dialog. Navigate to the folder you want to back up and confirm your selection. The path appears in the text field next to the button.
Choose a schedule
Pick a schedule option from the Backup Schedule panel. For a one-time backup, select Backup Once Now. For recurring backups, see Scheduling.
Start the backup
Click Start Backup. The progress bar advances to 50% while the folder is being compressed and encrypted, then jumps to 100% once the file has been uploaded to Google Drive.
What happens internally
When you start a backup, the following steps run in sequence inside a background thread:- Compress — the folder is walked recursively and zipped in memory using
zipfile.ZIP_DEFLATED. - Encrypt — the zip bytes are encrypted with Fernet using your
ENCRYPTION_KEYfrombackup.env. - Upload — the encrypted file is uploaded to Google Drive as
backup_YYYYMMDD_HHMMSS.enc. - Log — the filename, timestamp, and Drive link are appended to
backup_log.json. See Backup log for details. - Enforce the 5-backup limit — after the upload, AutoBackupTool checks how many files with
backup_in the title exist on Drive. If there are more than 5, the oldest (by creation date) is automatically deleted.
The backup runs in a background daemon thread so the GUI stays responsive throughout compression, encryption, and upload.
Stop a running scheduler
Click Stop Backup at any time to clear all scheduled jobs and halt the scheduler thread. Internally this callsschedule.clear() and sets self.running = False. Note that clicking Stop Backup does not cancel an upload that is already in progress — it only prevents future scheduled runs from firing.