This tool is a client tool for Huawei, OBS running in shell or cmd, for processing data download and upload.
-- UPDATES: 2018.11.27 - v4.6.7.1
- Added - add copy concurrent function.
2018.8.27 - v4.6.7
- Added - add a switch to decide whether to skip soft link objects
2018.7.27 - v4.6.6 1.Added - support proxy Access
2018.6.28 - v4.6.5 1.Added - supports modification of configuration by command line
2018.6.14 - v4.6.4 1.Fixed - bug. Keep the file's directory structure consistent when downloading all objects in the bucket
2018.5.30 - v4.6.3 1.Modified - Default value of CompareETag True to False 2.Modified - Default value of VirtualHost False to True 3.Fixed - bug. When downloading, the local save path will stitch the destination file full path in the bucket 4.Fixed - bug. Cannot upload or download an empty folder 5.Fixed. compatible Mac OS
2018.4.20 - v4.6.2 1.Added feature - Increase object custom metadata to save object MD5 values 2.Added feature - Verify object consistency and integrity when uploading or downloading 3.Fixed - Must be root to run
2018.3.31 - v4.6.1
- Fixed - bug in timed_task_run when config.dat "LocalPath RemoteDir BucketNameFixed" is not empty it will not be covered by these value in timed_task_config
- Added - add logs when running timed_task_run
- Added feature - Archive the upload successfully data (for xinhua news)
- Change - change sleep time of check file is changing or not , from 3s to 2s
2018.3.5 - v4.6.0
- Fixed - bug in range_download when content data length error
2018.1.31 - v4.5.0
- Added - add a configuration for checking the file is changing before putting object.
- Fixed - if comparison of etag and md5 fails, delete the object.
2018.1.23 - v4.4.0
- Added - enhance the timed task tool
2018.1.20 - v4.3.0
- Fixed - normalize the variables' name
- Fixed - cancel windows support, cancel dealing with large files file first in upload.
2018.1.17 - v4.2.1
- Fixed - optimize the format of brief file
- Fixed - some spelling errors
2018.1.16 - v4.2.0
- Fixed - use set() to compare remote with local instead of list()
- Fixed - change the interpreter header to '#!/usr/bin/env python' in the run file
2018.1.12 - v4.1.0
- Fixed - not work with virtual host mode.
2018.1.11 - v4.0.0
- Add feature - Record ETag to detail file and retry on status and comparing ETag for put_object.
- Add feature - Record x-amz-id-2 to detail file.
- Fixed - progress calculated from the requests number to the data size.
2018.1.4 - v3.7.5
- Add feature - Specify multiple files for uploading.
2018.1.2 - v3.7.4
- Fixed setting of headers of content-type.
2017.12.28 - v3.7.3
- Add feature - Specify multiple objects or prefix or mixed for downloading.
2017.12.15 - v3.7.2
- fix a bug for net speed refreshing.
2017.12.11 - v3.7.1
- Fix bugs for wrong comments.
- Catch the exception for listing local dirs.
- Deal with large files uploading first under any situation.
2017.12.06 - v3.7.0
- Change the strategy of default authorization header algorithm.
- In linux, when upload, deals with large or small files randomly.(Deal with large files first before)
- Fix a bug for the progress bar display.
- Add protection for the upload part size[5MB, 5GB].
2017.11.30 - v3.6.1
- Fix bug for requests count refresh in failed multipart upload.
2017.11.30 - v3.6.0
- Retry three times, the interval is 5s, and bug fixed.
- Optimize screen print.
2017.11.28 - v3.5.0
- Retry once in multipart tasks.
- Optimize exceptions in multipart tasks.
2017.11.25 - v3.2.0 Create ReadMe Initial features:
- Upload multiple files concurrently.
- Multipart upload for large files.
- Chose to overwrite objects that already in the bucket.
- Download multiple objects concurrently.
- Multipart download large objects by range download concurrently.
- Timed task by running a script.
- Support Windows(but deal with large objects/files first)
- Protection for multipart upload - can't be more than 10,000 parts.
- Upload to a specific directory in a bucket.
- Download a single object, download a specific directory in a bucket and download the entire bucket.
how to use:
step 1: install python,the version is more than 2.7.9;
apt install gcc // ubuntu 操作系统
yum install gcc //RedHat ,CentOs类操作系统
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
tar -xvf Python-2.7.14.tgz //解压到本地
cd Python-2.7.14 //进入解压后的目录
./configure //进行配置
make // 进行编译
make install // 进行安装
rm /usr/bin/python //删除之前版本链接
ln -s /usr/local/bin/python2.7 /usr/bin/python //创建新版本python链接
python -v //查看 python版本是不是已经变为安装的版本
step 2: install openssl, the version is morthan 1.0.2n;
wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz
tar -xvf openssl-1.0.2n.tar.gz // 解压到当前目录
cd openssl-1.0.2n // 进入解压后的目录
./config -fPIC // 进行配置
make && make install
rm /usr/bin/opensll // 删除之前的openssl PATH变量
ln -s /usr/local/ssl/bin/openssl /usr/bin/opensll //创建新的openssl版本路径;
step3. vi config.dat input the neccessnary data;
public config:
AK //Access Key ID 接入键标识
SK //Secret Access Key安全接入键
MultipartObjectSize //进行分段操作的对象大小分界值(Byte)
PartSize //段大小(Byte)
Concurrency //并发数
BucketNameFixed //桶名
Region //区域
VirtualHost //是否使用虚拟主机方式请求的开关
DomainName //域名
IsHTTPs //Https开关
sslVersion //ssl协议版本
upload config:
LocalPath //待上传目录
IgnoreExist //忽略上传到桶内的文件对象的开关
RemoteDir 上//传到桶内的目录
PutWithACL //Access Control Policy 对象的权限控制策略
download config:
DownloadTarget //待下载的OBS桶内目标
SavePath //本地保存路径
step4. pythone run.py or ./run.py to do the task
step5. go to dir results and see the detail task process results.