backup-tools
Backup, restore, version control local data to google drive
Prerequisites
- Python >= 3.6
Install
pip install backuptools
Usage
Create config file
- 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
-
Create and download google account service json file credentials/credentials.json for google drive service
-
Create file
test/local_config.py
with content:
ROOT_ID = "1rbi0gr7yMAFKqEgx-pBp6kKJx1Z4Tcgm"
CREDENTIALS_PATH = 'credentials/credentials.json'
- Test command line
./test.sh
Build
pipenv
python3 -m pip install --upgrade build
python3 -m build