ossutils

214 阅读2分钟

背景

我准备在自己的服务器上部署一个postgresql数据库,需要定时备份。准备用 定时任务 + pg_dump + oss 实现. OSS相当于一种高级的云盘,一般是给部署在云服务器里的服务用的。 这里是介绍https://www.aliyun.com/product/oss。开发者应该学习一下,反正便宜。

安装和配置

使用sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash来安装。

配置

这里有个小坑。它提示你输入设置信息时,设置的顺序是随机的...

  1. 文件储存位置和中/英文 这个很简单
  2. endpoint: 从Aliyun 对象储存-Bucket列表-BUCKET_NAME-访问端口表格 里有。注意它要的是Endpoint不是bucker域名。例如oss-cn-zhangjiakou.aliyuncs.com.
  3. accessKeyID和accessKeySecret: 这里有 ram.console.aliyun.com/manage/ak
  4. stsToken 使用STS临时授权账号访问OSS时需要配置该项,否则置空即可。

基础使用方式

列出所有bucket

➜  ~ ossutil ls
CreationTime                                 Region    StorageClass    BucketName
2023-04-02 13:49:29 +0800 CST    oss-cn-zhangjiakou        Standard    oss://database-dumps
2021-05-13 14:29:28 +0800 CST    oss-cn-zhangjiakou        Standard    oss://xyc-learn-oss
Bucket Number is: 2

打印文本文件内容

这个bucket里存放数据库备份


0.081879(s) elapsed

下载文件

ossutils cp 命令,用起来和linux cp命令差不多。

➜  ~ ossutil cp oss://database-dumps/数据库备份.txt 数据库备份.txt
Succeed: Total num: 1, size: 38. OK num: 1(download 1 objects).

average speed 0(byte/s)

0.149411(s) elapsed
➜  ~ ls
deployment.yml  linux-amd64  mw-nodeport.yml  projects  scripts  数据库备份.txt
➜  ~ cat 数据库备份.txt
这个bucket里存放数据库备份

上传

类似于下载,只要换一下参数位置。

➜  ~ echo abcdef > lines.txt
➜  ~ ossutil cp lines.txt oss://database-dumps/lines.txt
Succeed: Total num: 1, size: 7. OK num: 1(upload 1 files).

average speed 0(byte/s)

0.145156(s) elapsed

总结

ossutils 这个工具是符合我的预期的。一会我将利用ossutil cp命令来把pg_dump出来的文件上传到OSS,来实现备份。