Skip to main content

Backup specific folders to and upload to a cloud provider

Project description

Backup 2 Cloud

Backup specific folders and upload to a cloud provider. The uploaded files are 7zipped and encrypted locally. Uploads only those packages which were changed since last backup.

Currently only Google Drive is supported, but can handle multiple accounts.

Important: The tool can run only on machine with UI (with JavaScript enabled browser). Google doesn't allow to reach personal Google Drive files without UI: 'User data cannot be accessed from a platform without a UI because it requires user interaction for sign-in.'

What's new?

1.0.17

  • New: wait some time after deleting a file from GDrive to wait for proper freespace info

1.0.16

  • Fixed: Upload were not skipped when cheskum matched
  • New: creates log file Backup2Cloud.log in home directory

Install and Setup

Requirements: Python 3.7 with pip and setuptools. If not installed, do it on Debian:

sudo apt install python3-venv python3-pip python3-setuptools

Install the tool's package via pip:

python -m pip install --upgrade Backup2Cloud

Run first time:

python -m Backup2Cloud

INI file

Open with a texteditor the ini file at your home directory (as shown on the first run above). Follow notes in the ini file and setup one or more places to backup.

.exclude file

If you want to exclude subfolders or files, you can specify them by the same patterns as .gitignore files. Open with a texteditor the .exclude file at your home directory (as shown on the first run above). Follow notes in the .exclude file and add folder/file patterns to exclude

Enable Google Drive API

Enable the OAuth Client ID at Google Drive API via: https://developers.google.com/drive/api/v3/quickstart/python (Or you can manage your already exisiting Google APIs here: https://console.developers.google.com/apis/) In resulting dialog click DOWNLOAD CLIENT CONFIGURATION and save the file credentials.json to your home directory (as shown on the first run above).

Run the tool second time: python -m Backup2Cloud

Let's follow the url (open it in a browser on the same) to authorize the API for each cloudspace sections: 'Please visit this URL to authorize this application'. Complete the access approval in a browser.

Usage

Run a backup manually, or add the backup run to scheduler (e.g. cron):

python -m Backup2Cloud

Restore all backups manually to current folder:

python -m Backup2Cloud -d *

Command line interface:

Backup2Cloud - Backup specific folders to and upload to a cloud provider
usage: __main__.py [-h] [-d DOWNLOAD] [-log LOGLEVEL] [destination]

positional arguments:
  destination           Optional destination folder at Download mode. Example:
                        C:\output, default=current folder

optional arguments:
  -h, --help            show this help message and exit
  -d DOWNLOAD, --download DOWNLOAD
                        Download and extract all (*) or only the specified ID
                        entry of the INI to Destination folder. Example: -d
                        folder1
  -log LOGLEVEL, --loglevel LOGLEVEL
                        Provide logging level. Example --loglevel debug,
                        default=info

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Backup2Cloud-1.0.17.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

Backup2Cloud-1.0.17-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file Backup2Cloud-1.0.17.tar.gz.

File metadata

  • Download URL: Backup2Cloud-1.0.17.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for Backup2Cloud-1.0.17.tar.gz
Algorithm Hash digest
SHA256 c5d18796c603dd23ace40cef16350fd599eb91fa4b0171101b86fba9b02a1e9a
MD5 3a6993fde4893d05365b5f78e3a8828e
BLAKE2b-256 efa56a7aacfa7059773fab06c16a566a7748d7678fd2e239b3e85714a4950bc7

See more details on using hashes here.

File details

Details for the file Backup2Cloud-1.0.17-py3-none-any.whl.

File metadata

  • Download URL: Backup2Cloud-1.0.17-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.24.0 setuptools/51.1.2 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.7.9

File hashes

Hashes for Backup2Cloud-1.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 49ef6dbe9ff10951cd372f219616fb11893013d602c503ecef410f6f62c3b4a8
MD5 4fcbae583497f32e559150868660c3a5
BLAKE2b-256 0c9c9593cee2b71a8076513598a93c87201b0391929fc0561f7f7eebac16aa37

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page