backuptools

Backup, restore, version control local data to google drive


License
MIT
Install
pip install backuptools==1.0.1

Documentation

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

Create 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

python -m backuptools <path/to/config.json> <resource> backup [<version>]

Restore

python -m backuptools <path/to/config.json> <resource> restore <version>

List local version

python -m backuptools <path/to/config.json> <resource> list_local_version

List drive version

python -m backuptools <path/to/config.json> <resource> list_local_version

Create local version

python -m backuptools <path/to/config.json> <resource> create_version [<version>]

Extract local version

python -m backuptools <path/to/config.json> <resource> extract <version>

Upload version

python -m backuptools <path/to/config.json> <resource> upload_version <version>

Download version

python -m backuptools <path/to/config.json> <resource> download_version <version>

Remove local version

python -m backuptools <path/to/config.json> <resource> remove_local_version <version>

Remove drive version

python -m backuptools <path/to/config.json> <resource> remove_drive_version <version>

Development

Prerequisites

  • Install python >= 3.6
  • Install pipenv

Run this command line

pipenv install

Test

  1. Create and download google account service json file credentials/credentials.json for google drive service

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

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

Build

pipenv
python3 -m pip install --upgrade build
python3 -m build