您可以通过 fcp
命令,将本地文件或文件夹从源端复制到目标端。
./tosutil fcp file_url1 file_url2|folder_url2 [-dryRun] [-link] [-tempFileDir=xxx] [-useTempFile] [-u] [-vchecksum] [-dfo] [-fsync] [-rbs=1MB] [-wbs=1MB] [-rdio] [-rmmap] [-wdio] [-wmmap] [-ea=xxx] [-sdk=xxx] [-dek=xxx] [-fr] [-o=xxx]
./tosutil fcp fold_url1 fold_url2 -r [-dryRun] [-link] [-tempFileDir=xxx] [-useTempFile] [-u] [-vchecksum] [-dfo] [-fsync] [-rbs=1MB] [-wbs=1MB] [-rdio] [-rmmap] [-wdio] [-wmmap] [-ea=xxx] [-sdk=xxx] [-dek=xxx] [-flat] [-j=1] [-nfj=1] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-at] [-dmf] [-o=xxx]
./tosutil fcp -recover=xxx [-dryRun] [-link] [-tempFileDir=xxx] [-useTempFile] [-u] [-vchecksum] [-dtf] [-dfo] [-fsync] [-rbs=1MB] [-wbs=1MB] [-rdio] [-rmmap] [-wdio] [-wmmap] [-ea=xxx] [-sdk=xxx] [-dek=xxx] [-j=1] [-nfj=1] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-at] [-dmf] [-o=xxx]
./tosutil fcp file_url -dt=xxx [-ds=10MB] [-link] [-tempFileDir=xxx] [-useTempFile] [-dfo] [-fsync] [-rbs=1MB] [-wbs=1MB] [-rdio] [-wdio] [-wmmap]
参数名 | 参数类型 | 描述 |
---|---|---|
file_url1 | String | 本地源文件/文件夹路径,当为源文件夹时需要 与 |
file_url2 | String | 本地目标文件/文件夹路径。 |
-r | Bool | 递归复制文件夹。 |
-dryRun | Bool | 测试模式运行,不执行实际的操作。 |
-link | Bool | 复制软链接文件/文件夹指向的真实路径。 |
-tempFileDir | String | 复制时保存临时文件的文件夹,默认与待复制文件同父文件夹。 |
-useTempFile | Bool | 复制时先写临时文件再重命名为最终文件。 |
-recover | String | 待恢复复制任务的结果清单文件任务号。 |
-u | Bool | 增量复制文件,设置该参数后,会比较源端和目标端,建议您在以下情况下使用:
|
-vchecksum | Bool | 复制时通过 CRC64 算法验证数据一致性。 |
-dfo | Bool | 在 Linux/MacOs 操作系统上执行复制时,如果本地可执行文件正在运行,则不进行强制覆盖。 |
-fsync | Bool | 复制时使用 fsync 同步刷盘。 |
-rbs | String | 读源端的缓冲区大小,单位:字节,默认为配置文件中的 |
-wbs | String | 写目标端的缓冲区大小,单位:字节,默认为配置文件中的 |
-rdio | Bool | 在 Linux/MacOs 操作系统上,读源端时使用 direct io。 |
-rmmp | Bool | 在 Linux/MacOs 操作系统上,读源端时使用 mmap。 |
-wdio | Bool | 在 Linux/MacOs 操作系统上,写目标端时使用 direct io。 |
-wmmp | Bool | 在 Linux/MacOs 操作系统上,写目标端时使用 mmap,设置该值时会忽略 |
-ea | String | 复制时用于加解密本地文件的算法,支持的值如下:
说明 当前使用 aes256 + CTR 模式的加密算法。 |
-eam | String | 复制时用于加解密本地文件的算法模式。支持的值如下:
默认为 CTR。 |
-sdk | String | 复制时解密源端的密钥,当解密算法为 aes256 时,长度必须为 32 位 |
-dek | String | 复制时加密目标端的密钥,当加密算法为 aes256 时,长度必须为 32 位 |
-flat | Bool | 复制文件时不包含相对父目录。 |
-j | Integer | 批量任务的最大并发数,默认为配置文件中的 |
-nfj | Integer | 批量任务的处理小文件(小于 1MB)的最大并发数。 |
-include | String | 复制时对包含文件的名称匹配模式,支持 |
-exclude | String | 复制时对不包含文件的名称匹配模式,支持 |
-timeRange | String | 复制时对文件最后修改时间的时间段匹配模式,格式为: |
-at | Bool | 复制文件夹中文件的最后访问时间满足 timeRange 选项的文件列表。 |
-ddo | Bool | 上传时文件夹本身不会作为单独一个对象上传。 |
-dmf | Bool | 设置名称匹配模式和时间段匹配模式对文件夹不生效。 |
-dt | String | 单独测试读或写的类型,支持的值如下:
|
-ds | String | 单独测试单流读或写时的文件大小,单位:字节,默认为 10MB。 |
-fr | Bool | 操作单个文件时生成结果清单文件。 |
-o | String | 生成结果清单文件的文件夹,默认为配置文件中的 |
以下命令用于将 /Users/Downloads/TOS/tosutil 文件夹中的 object 文件复制为 /Users/Downloads/TOS/tosutil/object1。
命令
./tosutil fcp /Users/Downloads/TOS/tosutil/object /Users/Downloads/TOS/tosutil/object1
返回
Start at 2023-11-27 04:46:38.577567 +0000 UTC Jobs: 5 VerifyChecksum: false TempFileDir: auto [---------------------------------------------] 100.00% ?/s 15.09MB/15.09MB 7ms Copy local file/folder successfully, 15.09MB, n/a, /Users/Downloads/TOS/tosutil/object --> /Users/Downloads/TOS/tosutil/object1, cost [7]
以下命令用于将 /Users/Downloads/TOS/tosutil/folder1 文件夹中的所有文件复制至 /Users/Downloads/TOS/tosutil/folder2。
说明
该命令会复制文件夹本身,复制后所有的文件均在 folder2 文件夹内。
命令
./tosutil fcp /Users/Downloads/TOS/tosutil/folder1 /Users/Downloads/TOS/tosutil/folder2 -r
返回
Start at 2023-11-27 05:02:14.869508 +0000 UTC Jobs: 5 VerifyChecksum: false OutputDir: /Users/bytedance/.tosutil_output TempFileDir: auto [-------------------------------] 100.00% tps:0.00 ?/s 4/4 30.18MB/30.18MB 11ms Succeed count is: 4 Failed count is: 0 Succeed bytes is: 30.18MB Metrics [max cost:11 ms, min cost:0 ms, average cost:5.25 ms, average tps:333.33] Task id is: 2190c0c4-8ce2-11ee-8d1f-b645e1163e54
以下命令用于测试 /Users/Downloads/TOS/tosutil/folder1 文件夹中的 **object.mov **文件的读性能。
命令
./tosutil fcp /Users/bytedance/Downloads/TOS/tosutil/180/folder1/object.mov -dt=source
返回
Start at 2023-12-18 09:42:11.792216 +0000 UTC Jobs: 5 VerifyChecksum: false TempFileDir: auto [---------------------------------------------] 100.00% ?/s 10.00MB/10.00MB 4ms Detect copy local file/folder successfully, 10.00MB, n/a, /Users/bytedance/Downloads/TOS/tosutil/folder1/object.mov --> [dustbin], cost [4]
说明
更多上传场景的示例命令,请参见上传示例。