
# 恢复失败的下载任务
#### 功能说明
根据任务号（TaskId）恢复失败的下载任务。
#### 命令结构
- Windows操作系统
  ```
  obsutil cp -recover=xxx [-dryRun] [-tempFileDir=xxx] [-f] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-clear] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
  ```
  
- macOS/Linux操作系统
  ```
  ./obsutil cp -recover=xxx [-dryRun] [-tempFileDir=xxx] [-f] [-u] [-vlength] [-vmd5] [-j=1] [-p=1] [-threshold=52428800] [-ps=auto] [-include=*.xxx] [-exclude=*.xxx] [-timeRange=time1-time2] [-mf] [-o=xxx] [-cpd=xxx] [-clear] [-config=xxx] [-e=xxx] [-i=xxx] [-k=xxx] [-t=xxx]
  ```
  
 
#### 运行示例
- 以Windows操作系统为例，运行**obsutil cp -recover=3066a4b0-4d21-4929-bb84-4829c32cbd0f d:\\ -f -r** ，恢复失败的下载任务。
  ```
  obsutil cp -recover=3066a4b0-4d21-4929-bb84-4829c32cbd0f -f -r
  Start at 2024-10-08 01:10:07.3809685 +0000 UTC
  Parallel:      5                   Jobs:          5
  Threshold:     50.00MB             PartSize:      auto
  VerifyLength:  false               VerifyMd5:     false
  CheckpointDir: xxxx
  Task id: a628d6da-c562-4a1f-b687-4fa125de0dc3
  OutputDir: xxxx
  TempFileDir: xxxx
  [========================================================] 100.00% tps:35.71 2.02 KB/s 7.20MB/7.20MB 0s
  Succeed count:      1         Failed count:       0
  Succeed bytes:      xxx
  Metrics [max cost:90 ms, min cost:45 ms, average cost:63.80 ms, average tps:35.71, transferred size:70B]
  Task id: a628d6da-c562-4a1f-b687-4fa125de0dc3
  ```
  
 
#### 参数说明
| **参数**      | **约束**  | **描述**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| recover     | 附加参数，必选 | 待恢复下载任务结果清单文件的任务号。 说明： - 任务号（TaskId）可在每次下载任务运行完毕后获取，或者通过[结果清单](https://support.huaweicloud.com/utiltg-obs/obs_11_0057.html)文件名查询（文件名除去后缀.txt后的后36位）。  - 待恢复的下载任务会从结果清单的文件夹中查找，结果清单文件夹的路径参考附加参数o。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| tempFileDir | 附加参数，可选 | 下载时保存临时文件的文件夹，默认为配置文件中的defaultTempFileDir。 说明： - 由于分段下载时生成的临时文件会保存在该目录，请确保运行obsutil的用户对该路径有写权限。  - 该路径的可用空间需要大于待下载对象的大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| dryRun      | 附加参数，可选 | 测试模式运行，不执行实际的上传操作。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| u           | 附加参数，可选 | 增量下载操作，设置该参数后，下载每个对象时会对比本地对应路径的文件，仅在文件不存在，或者文件大小与对象大小不一致，或者对象的最后修改时间晚于文件的最后修改时间时进行下载。 注意： 在比较每个本地文件与桶内对象差异时，会产生一次HEAD[请求费用](https://support.huaweicloud.com/price-obs/obs_42_0004.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| vlength     | 附加参数，可选 | 下载完成后，验证本地文件大小是否与桶中对象的大小一致。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| vmd5        | 附加参数，可选 | 下载完成后，验证本地文件的MD5值是否与桶中对象的MD5值一致。 说明： 桶中对象必须包含元数据x-obs-meta-md5chksum，否则会忽略MD5值校验。 注意： 如果您的业务涉及加密场景，请勿使用该参数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| p           | 附加参数，可选 | 每个分段下载任务的最大并发数，默认为配置文件中的defaultParallels。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| threshold   | 附加参数，可选 | 开启分段下载任务的阈值，单位：字节，默认为配置文件中的defaultBigfileThreshold。 说明： - 如果待下载的对象小于该阈值，则使用直接下载模式；否则使用分段下载模式。  - 直接下载模式不会产生断点记录文件，不支持断点续传。  - 支持带容量单位配置，例如，配置1MB代表1048576字节。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ps          | 附加参数，可选 | 每个分段下载任务的段大小，单位：字节，默认为配置文件中的defaultPartSize。 说明： - 支持带容量单位配置，例如，配置1MB代表1048576字节。  - 支持配置为auto，此时obsutil会根据源对象大小自动设置每个分段任务的段大小。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| cpd         | 附加参数，可选 | 生成断点记录文件的文件夹，默认为运行obsutil命令的用户目录的子文件夹.obsutil_checkpoint。 说明： 每个分段下载任务会产生唯一对应的断点记录文件并保存至该文件夹的down子文件夹下，分段任务执行成功后，对应的断点记录文件会被自动删除；分段任务执行失败或被中断后，下次执行该分段任务时会尝试通过对应的断点记录文件恢复任务。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| f           | 附加参数，可选 | 强制操作，不进行询问提示。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| j           | 附加参数，可选 | 批量下载任务的最大并发数，默认为配置文件中的defaultJobs。 说明： 工具会保证该值至少为1。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| exclude     | 附加参数，可选 | 不包含源对象的匹配模式，如：\*.txt。 说明： - 支持"\*"匹配多个任意字符和"?"匹配单个任意字符，例如abc\*.txt代表匹配以abc开头以.txt结尾的任意文件。  - 您可以使用"\\\*"代表匹配"\*"字符本身，使用"\\?"代表匹配"?"字符本身。  - 如果待下载的对象名匹配该参数，则跳过该对象的复制。   须知： - 建议使用引号传递该匹配模式（macOS/Linux操作系统使用单引号，Windows操作系统使用双引号）防止特殊符号被操作系统转义，导致不可预期的结果。  - 该匹配模式作用于对象全路径（含从根路径开始的对象前缀和对象名，例如，桶内对象路径为obs://bucket/src1/src2/test.txt，则对象的全路径为src1/src2/test.txt）。  - 该匹配模式仅适用于对象名非"/"结尾的对象。  - 支持指定多个exclude参数，如-exclude=\*.xxx -exclude=\*.xxx                       |
| include     | 附加参数，可选 | 包含源对象的匹配模式，如：\*.jpg。 说明： - 支持"\*"匹配多个任意字符和"?"匹配单个任意字符。  - 您可以使用"\\\*"代表匹配"\*"字符本身，使用"\\?"代表匹配"?"字符本身。  - 首先执行exclude的匹配规则，如果待下载的对象名不匹配exclude，则判断待下载的对象名是否匹配该参数，如果匹配则下载该对象，否则跳过该文件的下载。   须知： - 建议使用引号传递该匹配模式（macOS/Linux操作系统使用单引号，Windows操作系统使用双引号）防止特殊符号被操作系统转义，导致不可预期的结果。  - 该匹配模式作用于对象全路径（含从根路径开始的对象前缀和对象名，例如，桶内对象路径为obs://bucket/src1/src2/test.txt，则对象的全路径为src1/src2/test.txt）。  - 该匹配模式仅适用于对象名非"/"结尾的对象。  - 支持指定多个include参数，如-include=\*.xxx -include=\*.xxx   |
| timeRange   | 附加参数，可选 | 下载对象时的时间段匹配模式，仅下载最后修改时间在该时间段内的对象。 该匹配模式优先级低于对象名匹配模式：exclude和include，优先执行对象名匹配模式后才会执行该匹配模式。 说明： - 使用"time1-time2"，代表匹配的时间段，其中time1必须小于等于time2，格式为yyyyMMddHHmmss。  - 时间格式支持自动补全，例如yyyyMMdd等价于yyyyMMdd000000，yyyyMM等价于yyyyMM01000000。  - 使用"\*-time2"，代表匹配最后修改时间在time2之前的所有文件，使用"time1-\*"，代表匹配最后修改时间time1之后的所有文件。   须知： - 该匹配模式表示的时间是UTC时间。  - 该匹配模式仅适用于对象名非"/"结尾的对象。                                                                                                                                                                                               |
| mf          | 附加参数，可选 | 设置名称匹配模式（include、exclude）和时间匹配模式（timeRange）对对象名以"/"结尾的对象也生效。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| o           | 附加参数，可选 | 生成结果清单文件的文件夹，命令执行完成后，会在该文件夹下生成结果清单文件（可能包含成功结果、失败结果和警告结果三个文件），默认为运行obsutil命令的用户目录的子文件夹.obsutil_output。 说明： - 结果清单文件命名规则：cp_{succeed \| failed \| warning}_report_时间_TaskId.txt。 单个结果清单文件默认情况下最大为30MB且最大可保留的文件个数为1024，可在配置文件中通过recordMaxLogSize和recordBackups分别配置。   - 当涉及多文件/文件夹时，如需确认失败任务的具体错误信息，可参考结果清单文件夹下的失败结果清单文件"cp_failed_report_时间_TaskId.txt"和日志路径下的[日志文件](https://support.huaweicloud.com/utiltg-obs/obs_11_0056.html)。                                                                                                                                                                                                                                                                                                                                           |
| clear       | 附加参数，可选 | 设置在恢复下载任务完成后删除已恢复任务对应的失败结果清单文件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| config      | 附加参数，可选 | 运行当前命令时的自定义配置文件。可支持的配置参数请参考[配置参数说明](https://support.huaweicloud.com/utiltg-obs/obs_11_0035.html)。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| e           | 附加参数，可选 | 指定终端节点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| i           | 附加参数，可选 | 指定用户的AK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| k           | 附加参数，可选 | 指定用户的SK。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| t           | 附加参数，可选 | 指定用户的securitytoken。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
#### 响应结果
请参考上传对象的[响应结果](https://support.huaweicloud.com/utiltg-obs/obs_11_0013.html#obs_11_0013__section6926520122416)。
