Juicesync is a tool to move your data in object storage between any clouds or regions.
How it works?
juicesync will scan all the keys from two object stores, and comparing them in ascending order to find out missing or outdated keys, then download them from the source and upload them to the destination in parallel.
After installed Go-1.9+
go get github.com/juicedata/juicesync $HOME/go/bin/juicesync
We assume your GOPATH is
$HOME/go. How to set GOPATH? Please visit The
go get -u github.com/juicedata/juicesync
juicesync [options] SRC DST Options: -end string the last keys to sync -p int number of concurrent threads (default 50) -q change log level to ERROR -start string the start of keys to sync -v turn on debug log --help show the usage
SRC and DST must be an URI of the following object storage:
- file: local files
- s3: Amazon S3
- gcs: Google Cloud Storage
- wasb: Windows Azure Blob Storage
- oss: Aliyun OSS
- cos: Tencent Cloud COS
- ks3: KSYun KS3
- ufile: UCloud UFile
- qingstor: Qingcloud QingStor
- bos: Baidu Cloud Object Storage
- jss: JCloud Object Storage
- qiniu: Qiniu
- b2: Backblaze B2
- space: Digital Ocean Space
SRC and DST should be in the following format:
- It's recommended to run juicesync in the target region to have better performance.
- S3: The access key and secret key for S3 could be provided by AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, or IAM role.
- COS: The AppID should be part of the bucket name.
- GCS: The machine should be authorized to access Google Cloud Storage.
- Qiniu: The S3 endpoint should be used for Qiniu, for example, abc.cn-north-1-s3.qiniu.com. If there are keys starting with "/", the domain should be provided as QINIU_DOMAIN.