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.jsonfor google drive service - Share Google Drive folder for Service Account email
- Get
idof Google Drive folder and put tobackuptools.config.jsonbelow - Create
backuptools.config.jsonwith 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
-
Create Google Drive Service account and download json key
-
Copy to file to path credentials/credentials.json
-
Create file
test/local_config.pywith content:
ROOT_ID = "1rbi0gr7yMAFKqEgx-pBp6kKJx1Z4Tcgm"
CREDENTIALS_PATH = 'credentials/credentials.json'
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| backuptools-1.0.1.tar.gz | 11.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|