PolarDB Agent LakeBase数据同步

更新时间:
复制 MD 格式

PolarDB Agent LakeBase提供高并发数据同步工具lakebase-client,支持在对象存储OSS、本地文件系统、LakeBase等存储之间进行批量数据迁移和增量同步。

适用范围

操作步骤

  1. 下载lakebase-client工具。

    wget -O lakebase-client https://lakebase-client.oss-cn-beijing.aliyuncs.com/lakebase-client-latest
    chmod +x lakebase-client
  2. 执行同步命令。

    lakebase-client sync [OPTIONS] SRC DST

    示例:通过lakebase://协议向LakeBase同步数据。

    lakebase-client sync /data/subdir/ "lakebase://META_URL/subdir/" --update --links --perms --dirs

参数说明

SRC/DST路径格式

类型

格式

示例

本地/LakeBase FUSE挂载点

<本地绝对路径>/

/lakebase/subdir/

LakeBase lakebase://协议

lakebase://<META_URL>/<prefix>/

lakebase://<META_URL>/subdir/

对象存储OSS

oss://<AccessKey ID>:<AccessKey Secret>@<Bucket>.<Endpoint>/<prefix>/

oss://LTAI5txxxx:xxxx@mybucket.oss-cn-hangzhou-internal.aliyuncs.com/prefix/

重要

路径末尾的/不可省略,否则语义不同。

OPTIONS参数

参数

说明

(默认)不填写

比较源端和目标端文件大小,不同才同步。

--update / -u

比较源端和目标端文件修改时间(mtime),源mtime大于目标mtime才同步。

--force-update

无条件同步。

--exclude <PATTERN>

排除匹配指定PATTERN的路径,如"*.txt"。可重复声明。

--include <PATTERN>

需与--exclude配合使用,在已排除的对象中重新包含匹配项。可重复声明。

--max-size <SIZE>

跳过大于指定大小的文件,如--max-size 1G。

--min-size <SIZE>

跳过小于指定大小的文件。

--max-age <DURATION>

跳过修改时间超过指定时长的文件,如--max-age 30d。

--min-age <DURATION>

跳过修改时间不足指定时长的文件。

--start-time <TIME>

跳过早于指定时间修改的文件,格式为"2006-01-02 15:04:05"。

--end-time <TIME>

跳过晚于指定时间修改的文件,格式为"2006-01-02 15:04:05"。

--existing

仅更新目标端已存在的文件,不创建新文件。

--ignore-existing

仅创建新文件,不更新目标端已存在的文件。

--files-from <FILE>

从指定文件中读取要同步的对象列表。

--limit <N>

限制本次处理的对象数量上限,默认为-1,表示不限制。

--check-new

每个文件复制完立即进行字节级校验。

--check-all

对所有文件进行字节级校验。

--check-change

同步完成后重新查询源文件是否发生变化。

--threads <N> / -p

数据传输的并发线程数,默认为10。

--list-threads <N>

List操作的并发线程数,默认为1。

--list-depth <N>

并发列表的目录深度,默认为1。

--dirs

同步空目录。默认仅同步含文件的目录树。

--links / -l

直接复制符号链接本身。默认展开符号链接后同步实际内容。

--dry

空运行,不实际写入或删除,仅打印执行计划。

--delete-dst

删除目标端中源端不存在的多余对象,使两端完全镜像。该操作不可逆,请先使用--dry验证执行计划。

--perms

同步文件的owner/group/mode到目标端。

--debug

打印Debug级别日志。

--push-gateway <ADDR>

将指标推送到指定的 PushGateway 地址,如10.0.0.12:9091。不填写则不上报指标。

--push-interval <SECONDS>

指标推送间隔,单位为秒,默认为 10。

--push-auth <USER:PASSWORD>

推送 PushGateway 的 Basic Auth 凭据,格式为用户名:密码。

PATTERN规则

--exclude和--include参数支持以下通配符:

字符

含义

*

匹配单个路径段中的任意字符。例如*.log匹配data/error.log和data/logs/warn.log。

**

匹配任意字符(包括/)。例如data/**/*.log匹配data/subdir/logs/error.log。

?

匹配任意单个非/字符。

[...]

匹配一组字符,例如[a-z]匹配任意小写字母。

[^...]

不匹配一组字符,例如[^abc]匹配除a、b、c外的任意字符。

\

转义通配字符。