Skip to main content

backup-tools

Backup, restore, version control local data to google drive

Prerequisites

  • Python >= 3.6

Install

pip install backuptools

Usage

Create config file

  1. Create and download google account service json file credentials.json for google drive service
  2. Share Google Drive folder for Service Account email
  3. Get id of Google Drive folder and put to backuptools.config.json below
  4. Create backuptools.config.json with content:
{
  "drive_credentials": "<path/to/credentials.json>",
  "drive_root_id": "<id_of_drive_folder>",
  "resources": [
    {
      "type": "GoogleDriveBackupResource",
      "name": "<resource_name>",
      "args": {
        "local_resource_path": "<path/to/local/source>",
        "local_backup_folder_path": "<path/to/local/backup/folder>",
        "drive_backup_folder_path": "<path/to/drive/backup/folder>"
      }
    }
  ]
}

Backup

With auto name

backuptools -R <resource> backup

With specific name

backuptools -R <resource> backup <version>

Restore

backuptools -R <resource> restore <version>

List version

List all local and remote version

backuptools -R <resource> ls

List local only version

backuptools -R <resource> ls --local

List remote only version

backuptools -R <resource> ls --remote

Create local version

With auto name

backuptools -R <resource> create

With specific name

backuptools -R <resource> create <version>

Extract local version

backuptools -R <resource> extract <version>

Push version

Push one local version to remote

backuptools -R <resource> push <version>

Push all local versions to remote

backuptools -R <resource> push --all

Pull version

Pull one remote version to remote

backuptools -R <resource> pull <version>

Pull all remote versions to local

backuptools -R <resource> pull --all

Sync versions

Upload all local versions to remote and download all remote versions to local

backuptools -R <resource> sync

Remove version

Remove one version on local and remote

backuptools -R <resource> rm <version>

Remove one version on local

backuptools -R <resource> rm <version> --local

Remove one version on remote

backuptools -R <resource> rm <version> --remote

Remove all version on local and remote

backuptools -R <resource> rm --all

Remove all version on local

backuptools -R <resource> rm --all --local

Remove all version on remote

backuptools -R <resource> rm --all --remote

Development

Prerequisites

pipenv install

Test

  1. Create Google Drive Service account and download json key

  2. Copy to file to path credentials/credentials.json

  3. Create file test/local_config.py with content:

ROOT_ID = "1rbi0gr7yMAFKqEgx-pBp6kKJx1Z4Tcgm"
CREDENTIALS_PATH = 'credentials/credentials.json'
  1. Test command line
./test.sh

Metadata

Release files for backuptools 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for backuptools 1.0.1
File Size Uploaded
backuptools-1.0.1.tar.gz 11.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for backuptools 1.0.1
File Interpreter ABI Platform
backuptools-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 22.9 kB

Release files / backuptools-1.0.1.tar.gz

Download URL backuptools-1.0.1.tar.gz
Size 11.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b4896db06d743d35c9adb3dfa8c297f7ebc73eb830a24d38da45a9a42587188d
BLAKE2b-256 checksum
How to use checksums
5c54f8013cd2f992bc5c4c864f8397302f1eda784cdb72c63177873b826d675d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

Release files / backuptools-1.0.1-py3-none-any.whl

Download URL backuptools-1.0.1-py3-none-any.whl
Size 11.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b2c14e1c4eebbc8d7c165015370c5491a9a57c510c5d93ab1138944450b0ed0f
BLAKE2b-256 checksum
How to use checksums
dd4d60f7d80fa8d0b9134a609b322418d9463e84de55220437ebed1984f57a26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page