---
title: "从 ieg 备份系统下载文件"
method: POST
path: "/download/ibs-recover"
tags: ["download"]
---

# 从 ieg 备份系统下载文件

`POST /download/ibs-recover`

提供 task_id，从 ieg 备份系统下载文件
task_files_wild: 模糊搜索文件并下载, task_files: 精确文件查询并下载
task_files_wild, task_files 二选一
启用 skip_local_exists=true 时，如果目标目录已存在要下载的文件，会自动跳过

## Request body

- DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadIBSRecoverComp
  - `extend` DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadIBSRecoverParam
    - `dest_ip` string, required — 目标IP，文件恢复到哪一台机器上的
    - `diretory` string, required — diretory 是备份系统参数错误拼写
    - `ibs_info` DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadIBSBaseInfo, required
      - `key` string, required — 16位字串，由备份系统分配，可从环境变量获取 IBS_INFO__key
      - `sys_id` string, required — application标识，亦即哪个系统需要访问本接口，可从环境变量获取 IBS_INFO_sys_id
      - `ticket` string — OA验证的ticket，一个长串，通常附加在访问内网应用的URL上，主要用来验证用户身份，可以留空
      - `url` string, required — ieg 备份系统 api url 地址，会在后面拼接 /query /recover 后缀进行请求 可从环境变量获取 IBS_INFO_url
    - `ibs_query` DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadIBSQueryForRecover
      - `begin_date` string — 查询文件起始时间，备份系统以 file_last_mtime 为条件
      - `end_date` string — 哪一天提交，结束时间，与begin_date形成一个时间范围，建议begin_date与end_date形成的时间范围不要超过3天
      - `source_ip` string — 来源IP，即提交备份任务的机器IP
    - `login_passwd` string — 登录 dest_ip 的用户名的密码, ieg 传统scp 方式下载才需要。如果是 cos 下载则不需要
    - `login_user` string, required — 登录 dest_ip 的用户名，下载后的文件属组是该用户
    - `reason` string — 恢复原因（备注用途）
    - `skip_local_exists` boolean — 如果本地目标目录已经存在对应文件，是否保留(即跳过下载). 默认 false
    - `task_files` DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadTaskFilesExact[] — 如果是精确文件名下载，用 task_files。提供需要下载的文件列表，提供 task_id 或者完整的 file_name 即可 如果顺便提供了 size 信息则不用请求备份系统获取大小 来决定文件是否需要重新下载
      - `file_name` string
      - `md5` string
      - `size` string — 文件大小
      - `task_id` string — 任务ID，用于下载
    - `task_files_wild` DbmServicesMysqlDbToolsDbactuatorPkgComponentsBackupDownloadTaskFilesWild
      - `file_tag` string
      - `name_regex` string — 在搜索的结果里面，应用该正则进行过滤
      - `name_search` string — 搜索的模糊条件，不用带 *
    - `taskid_list` string — taskid 列表，,逗号分隔。会根据 task_files 里的信息，追加到这里。这里一般不传值，在 task_files 里提供 task_id 或者 file_name

## Response `200`

OK

---

[API](https://skmtc.net/tencentblueking/apis/dbactuator-api.md) · [All operations](https://skmtc.net/tencentblueking/apis/dbactuator-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tencentblueking/dbactuator-api/revisions/dc22dd49fd50/schema)
