博客储存桶换到了又拍云,由于部署原因,云储存只是方便利用插件快速上传,只做储存用。访问的源站是到本地的,故需要将云储存上的文件镜像到本地,但找了半圈又拍不支持将云储存增量同步到本地(但可以本地->到云储存),但是阿里云oss可以,所以借助又拍云的融合云储存将文件同步到阿里云oss,在借助阿里云oss的ossutil命令行工具将文件储存到本地。完成需求。
1.安装阿里云ossutil命令行工具
wget https://gosspublic.alicdn.com/ossutil/1.7.9/ossutil64
2运行以下命令修改文件执行权限。
chmod 755 ossutil64
3.生成配置文件
./ossutil64 config
4.根据提示设置工具的语言和配置
请输入语言CH或EN。工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。
根据提示分别设置Endpoint、AccessKey ID、AccessKey Secret和STSToken参数。
参数说明如下:
- endpoint:填写Bucket所在地域的Endpoint。各地域Endpoint详情,请参见访问域名和数据中心。
- accessKeyID、accessKeySecret:填写账号的AccessKey。
- stsToken:使用STS临时授权账号访问OSS时需要配置该项,否则置空即可。
5.安装完成,同步阿里云oss文件到本地
命令
注意: 同步到本地的文件夹,路径请严格按格式配置,否则可能会同步到ossutil安装目录去
./ossutil64 sync oss://你的oss储存桶名称/localdir/ destdir/
#翻译⬇️
./ossutil64 sync oss://你的oss储存桶名称/oss目录文件夹/ 同步到本地的目录/
./ossutil64 sync oss://你的oss储存桶名称/localdir/ -u --update /destdir/
#翻译⬇️
-u --update 表示:只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行同步操作。
命令格式
./ossutil64 sync cloud_url file_url
[-f --force]
[-u --update]
[--maxdownspeed <value>]
[--delete]
[--backup-dir <value>]
[--enable-symlink-dir]
[--disable-all-symlink]
[--disable-ignore-error]
[--only-current-dir]
[--output-dir <value>]
[--bigfile-threshold <value>]
[--part-size <value>]
[--checkpoint-dir <value>]
[--range <value>]
[--encoding-type <value>]
[--snapshot-path <value>]
[--include <value>]
[--exclude <value>]
[--disable-crc64]
[--payer <value>]
[-j, --job <value>]
[--parallel <value>]
[--retry-times <value>]
参数及选项说明如下:
配置项 | 说明 |
cloud_url | OSS文件夹(目录)路径。格式为oss://bucketname/path/ 。例如oss://examplebucket/exampledir/ 。如果输入的cloud_url 没有以正斜线(/)结尾,ossutil会自动在结尾处添加一个正斜线(/)。 |
file_url | 待同步的本地文件夹路径。例如Linux系统文件夹路径/localfolder/ ,Windows系统文件夹路径D:\localfolder\ 。 |
-f --force | 强制操作,不进行询问提示。 |
-u,--update | 只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行同步操作。 |
--maxdownspeed | 最大下载速度,单位为KB/s,默认值为0,表示不限制下载速度。 |
--delete | 将目的端指定路径下的其他文件都删除,仅保留本次同步的文件。 警告 建议您使用--delete选项前开启版本控制,防止数据被误删。 |
--backup-dir | 指定目标文件夹,用于保存目的端存在而源端不存在的文件。 |
--enable-symlink-dir | 同步链接子目录。 |
--disable-all-symlink | 同步目录时,忽略所有的链接子文件以及链接子目录。 |
--disable-ignore-error | 批量操作时不忽略错误。 |
--only-current-dir | 仅同步当前目录下的文件,忽略子目录及子目录下的文件。 |
--output-dir | 指定输出文件所在的目录。输出文件是指批量同步文件出错时产生的report文件,默认保存在当前目录下的ossutil_output目录。 |
-bigfile-threshold | 设置断点续传文件的大小阈值,单位为字节。 默认值:100 MB 取值范围:0~9223372036854775807 |
--part-size | 设置分片大小,单位为字节。默认情况下ossutil会根据文件大小自行计算合适的分片大小值。 取值范围:1~9223372036854775807 |
--checkpoint-dir | 指定断点续传记录信息所在的目录。断点续传操作失败时,ossutil会自动创建名为.ossutil_checkpoint 的目录,并在该目录下记录checkpoint信息,断点续传成功后会删除该目录。如果指定了该选项,请确保指定的目录可以被删除。 |
--range | 下载目标文件的指定字段,并保存为一个新的文件,字段从0开始编号。
|
--encoding-type | 文件名称的编码方式。取值为url。如果不指定该选项,则表示文件名称未经过编码。 |
--snapshot-path | 指定保存同步文件时的快照信息所在的目录。在下一次同步文件时,ossutil会读取指定目录下的快照信息进行增量同步。 |
--include | 包含符合指定条件的所有文件。 |
--exclude | 不包含任何符合指定条件的文件。 |
--disable-crc64 | 关闭CRC64数据校验。 |
--payer | 请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester。 |
-j,--job | 多文件操作时的并发任务数,默认值为3,取值范围为1~10000。 |
--parallel | 单文件操作时的并发任务数,取值范围为1-10000。 如果不设置此选项,默认由ossutil根据操作类型和文件大小自行决定。 |
--retry-times | 发生错误后的重试次数。默认值为10,取值范围为1~500。 |
网络异常,图片无法展示
|
6.设置宝塔定时任务 自动同步
参考命令:
cd /www2/upx##先进入到ossutil工具目录
./ossutil64 sync oss://a-oss-zmki-cn/ -u --update /www2/wwwroot/a-oss.zmki.cn/
网络异常,图片无法展示
|