原创

利用oss进行数据库和网站图片备份

1.背景

由于网站迁移到香港云服务器,虽然便宜,但是宿主服务器时不时重启,为了预防不可控的因素导致网站资料丢失,所以想到用OSS备份网站数据,bucket选择在香港地区创建,这样和你服务器传输会更快。

ossutil支持通过Windows、Linux和macOS系统以命令行方式管理OSS数据。

2.安装

sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
说明
  • 安装过程中,需要使用解压工具(unzip、7z)解压软件包,请提前安装其中的一个解压工具。

  • 安装完成后,ossutil会安装到/usr/bin/目录下。

3.配置

输入配置命令

ossutil config

根据提示设置配置文件路径。

请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。
如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径): 

ossutil默认使用/home/user/.ossutilconfig作为配置文件,若您设置了配置文件的路径,则每次使用命令时需增加-c选项指定配置文件。例如配置文件保存为/home/config,使用ls时,命令格式如下:

ossutil ls oss://examplebucket -c /home/config

根据提示设置工具的语言。请输入语言CHEN

工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。

本文以配置长期访问凭证为例,配置AccessKey ID、AccessKey Secret,STSToken设置为空。

关于如何创建AccessKey和获取Endpoint,请参见创建AccessKey访问域名和数据中心。更多配置方式,请参见通过config命令进行快速配置

说明

如果使用STSToken进行临时访问授权,需获取临时访问凭证,具体内容请参见使用STS临时访问凭证访问OSS

获取到临时访问凭证后,在配置STSToken、AccessKey ID、AccessKey Secret时,请填入临时访问凭证中的SecurityToken、AccessKey ID和AccessKey Secret。

验证是否已成功安装ossutil。

ossutil

如果屏幕中输出ossutil所有支持的命令,表明已成功安装ossutil。

4.上传

本文以Linux系统为例,将本地文件或文件夹上传至OSS中。您在实际使用中,请根据您的系统和使用环境修改对应参数。本文涉及的通用示例说明如下:

  • 本地文件:examplefile.txt(根目录下的文件)

  • 本地文件夹:localfolder(根目录下的文件夹)

  • 目标Bucket:examplebucket

  • 目标Bucket指定目录:desfolder

1.上传文件oss

上传文件时,如果不指定上传至OSS的文件名,则默认使用原文件名进行保存;如果指定文件名,则按照指定的文件名保存在OSS中。

ossutil cp examplefile.txt oss://examplebucket/desfolder/

2.上传文件夹到oss

使用cp命令时增加-r选项,可以只将本地文件夹内的文件上传到OSS指定路径。
ossutil cp -r localfolder/ oss://examplebucket/desfolder/

上传文件夹内的文件并指定时间戳

将本地文件夹内的文件上传到OSS指定路径,文件修改时间限定在北京时间2023年10月31日10:09:18至2023年10月31日12:55:58内。

ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --start-time 1698718158 --end-time 1698728158
批量上传失败重传时,可以指定--update(可缩写为-u)选项跳过已经上传成功的文件,实现增量上传。
ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u

5.下载

沿用原文件名保存文件
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/

下载某一个文件夹(包含子目录)下所有文件的示例如下:

ossutil cp -r oss://examplebucket/destfolder/ localfolder/

当批量下载失败或者需要增量下载文件时,可以通过指定--update(可缩写为-u)选项选择跳过已经成功下载的文件。如果本地与OSS没有同名文件,或本地同名文件的最后修改时间早于OSS文件,ossutil会下载该文件。如果本地已有同名文件,且文件的最后修改时间晚于OSS内文件时,ossutil会跳过该文件。示例如下:

ossutil cp -r oss://examplebucket/destfolder/  localfolder/  --update   
正文到此结束
Loading...