A central database provider keeps track of files stored throughout multiple clouds.
The LocalDBProvider
uses a folder on the local file system or network share to store each cloud file entry as a yaml file.
Todo
Storage providers are services that allow storing files.
The LocalStorageProvider
uses a folder on the local file system or network share to act as a "cloud" storage provider.
See Libcloud's Azure Blobs Storage Driver Documentation for instructions on how to setup a storage account and generate access keys.
See Libcloud's Google Storage Driver Documentation for instructions on how to setup a storage account and generate access keys.
The default cmdrive.yaml
is setup to use a local database and storage provider.
Download
git clone https://github.com/davidmdem/cmdrive
cd cmdrive
pip install -r requirements.txt
cd src
Add a file to the default storage service
python cmdrive.py add ../test/files/hello.txt
List all files
python cmdrive.py ls
Download file
python cmdrive.py get hello.txt ../test
- See what to do about policies
- Consider merging the db and cloud provider base classes
- MongoDB database provider
- Google Drive integration
- Box integration
- AWS integration
- Command line option for cmdrive.yaml path
- Better way to determine which storage providers to load