将Linux目录同步到阿里云OSS——ossutil

说明

最近在使用阿里云oss,需要在前端编译完成后,将编译好的某些静态资源文件上传到oss(如js,图片等),主要是为了结合阿里云CDN做缓存,增加页面访问速度。
这时需要在编译完成后增加上传oss的动作,ossutil是个不错的工具(基于go语言的一个工具)。

补充:
一个更好用的OSS工具 ossfs,点击连接步移

下载安装

  1. 我是基于Linux 64位的,也有windows版本,详见阿里云官网
#可以下载到指定目录,比如 /home/deploy/ossutil 
cd /home/deploy/ossutil 
#下载,目前最新版本为1.6.3     
wget http://gosspublic.alicdn.com/ossutil/1.6.3/ossutil64     
#修改权限,变为可执行文件    
chmod 755 ossutil64
  1. 配置
    通过交互式命令生成配置文件:
./ossutil64 config

请输入配置文件路径: # 直接回车跳过,使用默认配置文件即可:/home/deploy/.ossutilconfig (deploy是我当前的登录用户),如果你设置为其它路径,在使用命令时需使用--config-file参数指定路径  
#下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。 
请输入endpoint:http://oss-cn-shenzhen.aliyuncs.com 
请输入accessKeyID:yourAccessKeyID 
请输入accessKeySecret:yourAccessKeySecret 
请输入stsToken: # 非必要参数,可以直接回车跳过  

如果上述过程配置有误,可以修改.ossutilconfig文件

vi /home/deploy/.ossutilconfig 

使用方式

参数说明:
./ossutil64 cp <目标文件(文件夹)> <oss路径> [-u|-r|....等可选参数]
cp: 贝命令,将本地文件拷贝到oss
-u: cp的可选参数,表示对于相同文件名的文件,如果oss上的modifyTime早于本地的modifyTime则执行覆盖操作
-r: cp的可选参数,表示可以上传文件夹(包含文件夹中的所有文件以及子文件夹遍历上传)
--exclude: 过了掉某些文件,支持通配符

<oss路径>组成: oss://<bucket名称>/[你在bucket中建立的目录]
目录可以没有,没有的话直接拷贝到bucket根目录

参考阿里云官方文档:
https://help.aliyun.com/document_detail/50452.html

只要再编译脚本中添加如下命令就达到了我的目的:

./ossutil64 cp /home/resource-files/ oss://your-bucket-name/your-dir --exclude "*.html" --exclude "*.htm" -ur










原创文章 21 获赞 13 访问量 8402

猜你喜欢

转载自blog.csdn.net/iteye_19045/article/details/96275796
今日推荐