Skip to main content

Backup, restore, version control local data to google drive

Project description

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

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

backuptools-1.0.1.tar.gz (11.4 kB view hashes)

Uploaded Source

Built Distribution

backuptools-1.0.1-py3-none-any.whl (11.5 kB view hashes)

Uploaded Python 3

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