注意事项
-
Binary名称
本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门。
-
文件数量
通过sync命令执行同步任务时,如果没有携带–delete选项,则单次同步任务同步的文件个数无限制。如果携带了–delete选项,则单次同步任务最多可同步100万个文件。当同步的文件个数超出100万时,将报错over max sync numbers 1000000.。
-
sync命令与cp命令的区别
-
通过sync命令将数据同步到OSS时,ossutil支持通过–delete选项将目的端存在而源端不存在的文件都删除,仅保留本次同步的文件。cp命令不支持–delete选项。
-
sync不支持–version-id选项,无法在已开启版本控制的Bucket内同步历史版本文件。cp命令支持–version-id选项。
除以上区别外,sync命令与cp命令用法类似。有关cp命令的用法及示例,请参见cp(上传文件)。
命令格式
./ossutil64 sync file_url cloud_url
[-f --force]
[-u --update]
[--delete]
[--enable-symlink-dir]
[--disable-all-symlink]
[--disable-ignore-error]
[--only-current-dir]
[--output-dir ]
[--bigfile-threshold ]
[--part-size ]
[--checkpoint-dir ]
[--encoding-type ]
[--snapshot-path ]
[--include ]
[--exclude ]
[--meta ]
[--acl ]
[--maxupspeed ]
[--disable-crc64]
[--payer ]
[-j, --job ]
[--parallel ]
[--retry-times ]
[--tagging ]
参数及选项说明如下:
配置项 |
说明 |
file_url |
待同步的本地文件夹路径。例如Linux系统文件路径 |
cloud_url |
OSS文件夹路径。格式为 |
-f –force |
强制操作,不进行询问提示。 |
-u,–update |
只有当目标文件不存在,或源文件的最后修改时间晚于目标文件时,ossutil才会执行同步操作。 |
–delete |
删除目的端指定路径下的其他文件,仅保留本次同步的文件。 警告 建议您使用–delete选项前开启版本控制,防止数据误删除。 |
–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会自动创建名为 |
–encoding-type |
文件名称的编码方式。取值为url。如果不指定该选项,则表示文件名称未经过编码。 |
–snapshot-path |
指定保存同步文件时的快照信息所在的目录。在下一次同步文件时,ossutil会读取指定目录下的快照信息进行增量同步。 |
–include |
包含符合指定条件的所有文件。 更多信息,请参见include和exclude选项。 |
–exclude |
不包含任何符合指定条件的文件。 更多信息,请参见include和exclude选项。 |
–meta |
设置文件的元信息,格式为 |
–acl |
文件的读写权限ACL。取值如下:
|
–maxupspeed |
最大上传速度,单位为KB/s。默认值为0,表示不限制上传速度。 |
–disable-crc64 |
关闭CRC64数据校验。 |
–payer |
请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester。 |
-j,–job |
多文件操作时的并发任务数,默认值为3,取值范围为1~10000。 |
–parallel |
单文件操作时的并发任务数,取值范围为1~10000。 如果不设置此选项,默认由ossutil根据操作类型和文件大小自行决定。 |
–retry-times |
发生错误后的重试次数。默认值为10,取值范围为1~500。 |
–tagging |
文件的标签信息,格式为 |
使用示例
本地根目录下localfolder文件夹内有d.txt和e.png文件。OSS中名为examplebucket的Bucket下文件夹destfolder内有文件a.txt、b.txt和子文件夹C,文件结构如下:
本地根目录 examplebucket
└── localfolder └── destfolder/
├── d.txt ├── a.txt
├── e.png ├── b.txt
└── C/
示例场景及命令如下:
-
将本地localfolder文件夹同步到OSS
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/
命令执行后,examplebucket的 destfolder文件夹内新增d.txt和e.png文件。
本地根目录 examplebucket └── localfolder └── destfolder/ ├── d.txt ├── a.txt ├── e.png ├── b.txt ├── d.txt ├── e.png └── C/
-
将本地localfolder文件夹的.txt文件同步到OSS
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/ --include "*.txt"
命令执行后,examplebucket的 destfolder文件夹内新增d.txt文件。
本地根目录 examplebucket └── localfolder └── destfolder/ ├── d.txt ├── a.txt ├── e.png ├── b.txt ├── d.txt └── C/
-
将本地localfolder文件夹的非.txt文件同步到OSS
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/ --exclude "*.txt"
命令执行后,examplebucket的destfolder文件夹内新增e.png文件。
本地根目录 examplebucket └── localfolder └── destfolder/ ├── d.txt ├── a.txt ├── e.png ├── b.txt ├── e.png └── C/
-
同步本地文件夹到OSS,并删除OSS指定路径下已存在而本地端不存在的文件
通过增加–delete选项,删除目的端存在而源端不存在的文件,仅保留本次同步的文件。
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/ --delete
命令执行后,本地localfolder文件夹被同步到OSS,同时会删除OSS的文件a.txt、b.txt以及子文件夹C,即OSS的destfolder文件夹内仅保留d.txt和e.png文件。
本地根目录 examplebucket └── localfolder └── destfolder/ ├── d.txt ├── d.txt ├── e.png ├── e.png
-
同步本地文件夹到OSS,并省略问询操作
默认情况下,同步本地文件夹到OSS时,如果目的端存在同名文件,ossutil会进行覆写操作的问询。命令如下:
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/ cp: overwrite "oss://examplebucket/destfolder/d.txt"(y or N)?
如果您确认目的端文件均可被覆写,可增加-f,–force选项强制执行覆写操作。命令如下:
./ossutil64 sync localfolder/ oss://examplebucket/destfolder/ -f
命令执行后,examplebucket的destfolder文件夹内新增d.txt和e.png文件。
本地根目录 examplebucket └── localfolder └── destfolder/ ├── d.txt ├── a.txt ├── e.png ├── b.txt ├── d.txt ├── e.png └── C/
-
以上示例同步成功后,返回结果中将包含同步的文件数量、文件大小以及完成同步操作所用时长,示例如下:
Succeed: Total num: 2, size: 750,081. OK num: 2(upload 2 files). average speed 1641000(byte/s)
通用选项
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。
例如,您需要将本地文件夹srcfolder的文件同步至另一个阿里云账号下,华东2(上海)地域下存储空间examplebucket的文件夹testfolder,命令如下:
./ossutil64 sync srcfolder/ oss://examplebucket/testfolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
关于此命令的其他通用选项的更多信息,请参见通用选项。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/157886.html