Linux目录同步到阿里云OSS工具ossutil

517 阅读2分钟

背景

​ 最近公司服务用户激增,常规文件服务器不能满足需求,严重影响性能,决定将静态文件迁移到阿里云OSS,用来解决性能问题,提高用户体验。毕竟之前文件服务器有很多历史文件,需要同步到OSS上,但是研究了很多,大佬使用Python脚本,感觉体验很是一般,后来发现阿里官网提供的ossutil体验还是很不错

下载安装

官网有很详细的教程

1、切换到安装目录

cd /data/app
//1、运行以下命令下载ossutil。
wget http://gosspublic.alicdn.com/ossutil/1.7.6/ossutil64
//2、运行以下命令修改文件执行权限。
chmod 755 ossutil64

2、配置 通过交互式命令生成配置文件:

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

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

vi /data/app/.ossutilconfig 

3、使用方式

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

创建Bucket

./ossutil64 mb oss://bucket

上传文件

./ossutil64 cp local_file oss://bucket

下载文件

./ossutil64 cp cloud_url local_file

上传多个使用

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

关注我的微信公众号

在这里插入图片描述