阿里云对象存储命令行工具ossutil 多平台批量管理OSS数据

老蒋在前文中也有介绍到可视化阿里云对象存储OSS管理工具OSSBrowser,我们就如同在使用FTP工具一样对OSS对象存储文件移动、删除、上传等管理操作。且实际使用中,一般的网站和用户使用OSSBrowser肯定是够用的,但是也有部分网站本地可能有几百兆、甚至几个G的静态文件数据希望同步到OSS中,同时也有可能之前有在使用OSS的时候希望数据备份到本地。那这样的环境中使用OSSBrowser一个个下载或者上传不够现实。

有没有更好的办法呢?比如类似在前文中老蒋有介绍到腾讯云COS有的COSCMD工具,可以实现命令式,多平台的对对象存储文件管理。阿里云肯定也是有的,比如我们可以使用ossutil工具进行批量管理OSS的数据,我们一起看看如何使用的。

第一、ossutil多平台安装

ossuti支持Windows、Linux、 Mac平台,以命令行方式管理OSS数据的工具,提供方便、简洁、丰富的Bucket和Object管理命令。我们可以通过命令的时候对Bucket存储桶文件删除、创建、下载,我们一起看看常用的命令名称。

名称 描述
appendfromfile 将本地文件内容以追加上传的方式上传到OSS中的appendable Object中。
bucket-encryption 添加、修改、查询、删除Bucket的加密配置。
bucket-policy 添加、修改、查询、删除存储空间(Bucket)的Bucket policy配置。
bucket-tagging 添加、修改、查询、删除Bucket的标签配置。
bucket-versioning 添加或查询Bucket的版本控制配置。
cat 将文件内容输出到ossutil。
config 创建配置文件来存储OSS访问信息。
cors 添加、修改、查询、删除Bucket的CORS配置。
cors-options 用于测试Bucket是否允许指定的跨域访问请求。
cp 用于上传、下载、拷贝文件。
create-symlink 创建符号链接(软链接)。
du 用于获取指定存储空间(Bucket)或者指定文件(Object)/文件目录所占的存储空间大小。
getallpartsize 获取Bucket内所有未完成上传的Multipart任务的每个分片大小以及分片总大小。
hash 用于计算本地文件的CRC64或MD5。
help 获取命令的帮助信息。当您不清楚某个命令的用法时,建议您使用help命令获取该命令的帮助信息。
lifecycle 命令用于添加、修改、查询、删除生命周期规则配置。
listpart 列出没有完成分片上传的Object的分片信息。
logging 添加、修改、查询、删除Bucket的日志管理配置。
ls 列举Bucket、Object和Part。
mb 创建Bucket。
mkdir 在Bucket内创建文件目录。
object-tagging 添加、修改、查询或删除对象(Object)的标签配置。
probe 针对OSS访问的检测命令,可用于排查上传、下载过程中因网络故障或基本参数设置错误导致的问题。
read-symlink 读取符号链接(软链接)文件的描述信息。
referer 添加、修改、查询、删除Bucket的防盗链配置。
restore 恢复冷冻状态的Object为可读状态。
request-payment 设置或查询存储空间(Bucket)的请求者付费模式配置。
rm 删除Bucket、Object和Part。
set-acl 设置Bucket或Object的访问权限(ACL)。
set-meta 设置已上传Object的元信息。
sign 用于生成经过签名的url供第三方用户访问Bucket内的Object。
stat 获取指定Bucket或Object的描述信息。
update 用于更新ossutil版本。
website 用于添加、修改、查询、删除Bucket的静态网站托管配置、重定向配置、镜像回源配置。

ossutil 源码地址:

Linux 32位:http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil32?spm=a2c4g.11186623.2.11.4638448aVMck67

Linux 64位:http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64?spm=a2c4g.11186623.2.12.4638448aVMck67

复制链接的时候,会自动加上spm编码内容,使用wget命令下载的时候,注意删除链接中?spm=xxxx内容。

Windows 32位:http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil32.zip?spm=a2c4g.11186623.2.13.4638448aVMck67&file=ossutil32.zip

Windows 64位:http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64.zip?spm=a2c4g.11186623.2.14.4638448aVMck67&file=ossutil64.zip

这里我们可以尝试安装在Linux 环境中:

wget http://gosspublic.alicdn.com/ossutil/1.6.10/ossutil64

chmod 755 ossutil64

./ossutil64 config

ossutil多平台安装

根据提示我们需要设置ossutil。

endpoint:填写Bucket所在地域的域名信息。
accessKeyID:查看方式请参考创建AccessKey。
accessKeySecret:查看方式请参考创建AccessKey。
stsToken:非必配项,若采用STS临时授权方式访问OSS需要配置该项,否则置空即可。

第二、ossutil 常规应用案例

在上面我们可以在服务器上或者本地配置ossutil,之后我们就可以对OSS进行批量操作,比如我们可以将网站对应目录的文件上传到OSS中,或者是将OSS移动下载到本地。

1、appendfromfile

appendfromfile命令用于将本地文件内容以追加上传的方式上传到OSS中的appendable Object中。

命令格式:

./ossutil appendfromfile local_file_name oss://bucket/object [--meta=meta-value] [--payer requester]

实例演示:

./ossutil appendfromfile /file/test.txt oss://bucket1/test.txt

意思就是我们将/file/test.txt 替换到bucket1/test.txt文件。bucket1 是存储桶名。

2、cp

cp命令用于上传、下载、拷贝文件。

上传格式:

./ossutil cp file_url cloud_url [-r] [-f] [-u] [--enable-symlink-dir] [--disable-all-symlink] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--snapshot-path=sdir] [--payer requester]

示范命令:

#上传单个文件:

./ossutil cp a.txt oss://bucket/path

#上传文件夹:

./ossutil cp -r dir oss://bucket/path

下载格式:

./ossutil cp cloud_url file_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--range=x-y] [--payer requester] [--version-id versionId]

示范命令:

#下载单个文件

./ossutil cp oss://my-bucket/path/test1.txt /dir

#下载文件夹

./ossutil cp -r oss://my-bucket/path /dir

拷贝格式:

./ossutil cp cloud_url cloud_url [-r] [-f] [-u] [--only-current-dir] [--output-dir=odir] [--bigfile-threshold=size] [--checkpoint-dir=cdir] [--payer requester] [--version-id versionId]

示范命令:

#拷贝单个文件

./ossutil cp oss://bucket/path1/a oss://bucket/path2/

#拷贝单个文件并重命名

./ossutil cp oss://bucket/path1/a oss://bucket/path2/b

总结,对于OSSUTIL命令行的应用可以参考阿里云官方文档库(https://help.aliyun.com/document_detail/50452.html),这里老蒋仅仅介绍有一款命令行工具可以对OSS文件批量管理。

本文出处:老蒋部落 » 阿里云对象存储命令行工具ossutil 多平台批量管理OSS数据 | 欢迎分享( 公众号:QQ69377078 )