Rediacc CLI 参考
概述
**Rediacc CLI**(`rdc`)是一个用于管理 Rediacc 平台所有方面的命令行界面 — 身份验证、基础设施、仓库、队列、存储等。
安装
从 [Rediacc 发布页面](https://www.rediacc.com) 下载适用于您平台的最新二进制文件,或通过包管理器安装:
# macOS / Linux
curl -fsSL https://get.rediacc.com | sh
# Or use the packaged binary directly
./rdc --help
全局选项
每个命令都支持以下全局标志:
| 标志 | 描述 |
|---|---|
--output | 输出格式(table|json|yaml|csv) |
--config | 为此命令使用特定配置 |
--lang | 语言覆盖({{languages}}) |
--force | 跳过确认提示 |
1. 代理工具
适用于 AI 编程助手的代理工具
1.1 capabilities
列出所有可用命令及其参数和选项
rdc agent capabilities
1.2 schema
显示特定命令的详细模式信息
rdc agent schema <command>
1.3 exec
通过 stdin 接收 JSON 输入并执行命令
rdc agent exec <command>
1.4 generate-reference
为 Claude 技能生成命令参考 Markdown
rdc agent generate-reference
2. 配置管理
管理配置文件、机器和 SSH 连接
配置文件存储连接详情(API URL、凭证、默认 team/region/bridge),让您可以快速切换环境。
2.1 init
创建新的命名配置文件
在本地模式下,您可以直接添加机器:
rdc config init [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--ssh-key <path> | SSH 私钥路径(例如:~/.ssh/id_rsa) | 否 | - |
--renet-path <path> | renet 二进制文件的路径(默认:PATH 中的 renet) | 否 | - |
--master-password <password> | 使用主密码加密资源 | 否 | - |
-u, --api-url <url> | API 网址 | 否 | - |
2.2 list
列出所有配置文件
rdc config list
2.3 show
显示当前配置详情
rdc config show
2.4 delete
删除配置文件
rdc config delete <name>
2.5 set
设置默认值(team、region、bridge)
rdc config set <key> <value>
提示: 设置默认值意味着您无需在每条命令中传入 `--team`、`--region` 或 `--bridge`。
2.6 clear
清除默认值(全部或特定键)
rdc config clear [key]
2.7 recover
从备份文件 (.bak) 恢复配置
rdc config recover [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-y, --yes | 跳过确认提示 | 否 | - |
2.8 set-ssh
更新当前配置的 SSH 配置
rdc config set-ssh
2.9 set-renet
为本地模式设置 renet 二进制文件路径
rdc config set-renet
2.10 ssh
管理 SSH 密钥配置
set
为当前配置设置 SSH 密钥
rdc config ssh set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--key <path> | SSH 私钥文件路径 | 是 | - |
--embed | 将密钥内容嵌入配置中而非存储路径 | 否 | - |
show
显示当前 SSH 密钥配置
rdc config ssh show
remove
从当前配置中移除 SSH 密钥
rdc config ssh remove
2.11 machine
管理当前配置中的机器
add
将机器添加到当前配置
rdc config machine add <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--ip <address> | 机器 IP 地址或主机名 | 是 | - |
--user <username> | SSH 用户名 | 是 | - |
--port <port> | SSH 端口 | 否 | 22 |
--datastore <path> | 机器上的数据存储路径 | 否 | /mnt/rediacc |
remove
从当前配置中移除机器
rdc config machine remove <name>
list
列出当前配置中的机器
rdc config machine list
scan-keys
扫描当前配置中机器的 SSH 主机密钥
rdc config machine scan-keys [machine]
setup
为仓库配置远程机器(安装 renet、配置 Docker、BTRFS 数据存储)。幂等操作。在 config machine add 之后、repo create 之前需要执行
rdc config machine setup <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--datastore <path> | 远程机器上的数据存储路径 | 否 | /mnt/rediacc |
--datastore-size <size> | 数据存储大小(例如:95%、100G) | 否 | 95% |
--debug | 启用调试输出(本地模式) | 否 | - |
set-ceph
设置机器的 Ceph RBD 配置
rdc config machine set-ceph [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--pool <name> | Ceph 池名称(例如 rbd) | 是 | - |
--image <name> | RBD 镜像名称(例如 datastore-prod1) | 是 | - |
--cluster <name> | Ceph 集群名称 | 否 | ceph |
2.12 repository
管理当前配置中的仓库映射
add
将仓库 GUID 映射添加到当前配置
rdc config repository add <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--guid <guid> | 仓库 GUID(来自存储备份文件名的 UUID) | 是 | - |
--tag <tag> | 仓库标签 | 否 | latest |
--credential <credential> | 仓库凭据(加密口令) | 否 | - |
--network-id <id> | 用于 Docker 隔离的网络 ID(2816, 2880, ...)。省略时自动分配 | 否 | - |
remove
从当前配置中移除仓库映射
rdc config repository remove <name>
list
列出当前配置中的仓库 GUID 映射
rdc config repository list
list-archived
列出已归档的仓库凭据
rdc config repository list-archived
restore-archived
恢复已归档的仓库凭据
rdc config repository restore-archived <guid> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 使用其他名称恢复 | 否 | - |
purge-archived
永久删除所有已归档的凭据
rdc config repository purge-archived
2.13 provider
管理用于自动配置机器的云服务提供商
add
添加云服务提供商
rdc config provider add <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--provider <source> | 已知提供商来源(例如 linode/linode, hetznercloud/hcloud) | 否 | - |
--source <source> | 自定义 OpenTofu 提供商来源(例如 vultr/vultr) | 否 | - |
--token <token> | 云服务提供商的 API 令牌 | 是 | - |
--region <region> | 新机器的默认区域 | 否 | - |
--type <type> | 默认实例类型/大小 | 否 | - |
--image <image> | 默认操作系统镜像 | 否 | - |
--ssh-user <user> | 新虚拟机的 SSH 用户名(默认:root) | 否 | - |
--resource <type> | 自定义:虚拟机的 OpenTofu 资源类型 | 否 | - |
--label-attr <attr> | 自定义:虚拟机标签的属性名 | 否 | - |
--region-attr <attr> | 自定义:区域的属性名 | 否 | - |
--size-attr <attr> | 自定义:实例类型的属性名 | 否 | - |
--image-attr <attr> | 自定义:操作系统镜像的属性名 | 否 | - |
--ipv4-output <attr> | 自定义:IPv4 地址的输出属性 | 否 | - |
--ipv6-output <attr> | 自定义:IPv6 地址的输出属性 | 否 | - |
--ssh-key-attr <attr> | 自定义:SSH 密钥的属性名 | 否 | - |
--ssh-key-format <format> | 自定义:SSH 密钥格式(inline_list 或 resource_id) | 否 | - |
--ssh-key-resource <type> | 自定义:SSH 密钥的 OpenTofu 资源类型 | 否 | - |
remove
移除云服务提供商配置
rdc config provider remove <name>
list
列出已配置的云服务提供商
rdc config provider list
2.14 storage
管理当前配置中的存储后端
import
从 rclone 配置文件导入存储
rdc config storage import <file> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 仅导入指定的命名部分 | 否 | - |
remove
从当前配置中移除存储
rdc config storage remove <name>
list
列出当前配置中的存储
rdc config storage list
2.15 infra
管理基础设施配置(代理、DNS、证书)
set
设置机器的基础设施配置(机器特定:IP、域名、端口;共享:证书邮箱、CF DNS 令牌)
rdc config infra set <machine> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--public-ipv4 <ip> | 公共 IPv4 地址(按机器) | 否 | - |
--public-ipv6 <ip> | 公共 IPv6 地址(按机器) | 否 | - |
--base-domain <domain> | 应用程序的基础域名(按机器) | 否 | - |
--cert-email <email> | TLS 证书通知邮箱(跨机器共享) | 否 | - |
--cf-dns-token <token> | 用于 ACME DNS-01 验证的 Cloudflare DNS API 令牌(跨机器共享) | 否 | - |
--tcp-ports <ports> | 要转发的 TCP 端口(逗号分隔,例如 25,143,465) | 否 | - |
--udp-ports <ports> | 要转发的 UDP 端口(逗号分隔,例如 53) | 否 | - |
show
显示机器的基础设施配置
rdc config infra show <machine>
push
将基础设施配置推送到机器(Traefik 代理、路由器、Cloudflare DNS)。请先运行 'config infra set <machine>'
rdc config infra push <machine> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--debug | 启用调试输出(本地模式) | 否 | - |
2.16 cert-cache
管理缓存的 TLS 证书
pull
从机器下载并缓存 TLS 证书
rdc config cert-cache pull <machine> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--no-prune | 跳过清理过期的网络 ID 证书 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
push
将缓存的 TLS 证书上传到机器
rdc config cert-cache push <machine> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--debug | 启用调试输出(本地模式) | 否 | - |
status
显示缓存的证书清单
rdc config cert-cache status
clear
移除证书缓存
rdc config cert-cache clear
2.17 backup-strategy
管理多目标备份策略
set
配置备份计划设置
rdc config backup-strategy set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--destination <storage> | 默认存储目标名称 | 否 | - |
--cron <expression> | 备份计划的 cron 表达式(例如 "0 2 * * *") | 否 | - |
--enable | 启用计划备份 | 否 | - |
--disable | 禁用计划备份 | 否 | - |
show
显示当前备份计划配置
rdc config backup-strategy show
3. 数据存储管理
管理Ceph RBD数据存储生命周期(init、fork、unfork、status)
3.1 init
在机器上初始化数据存储(本地或Ceph RBD)
rdc datastore init [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称(Ceph数据存储所在位置) | 是 | - |
--size <size> | 数据存储大小(例如5G、50G、100G) | 是 | - |
--backend <type> | 后端类型:local(默认)或ceph | 否 | local |
--pool <name> | Ceph池名称(默认:来自机器配置,或rbd) | 否 | rbd |
--image <name> | Ceph RBD镜像名称(默认:通过set-ceph从机器配置获取) | 否 | - |
--cluster <name> | Ceph集群名称(默认:ceph) | 否 | ceph |
--force | 即使数据存储已存在也强制初始化(警告:将重新格式化存储) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
3.2 fork
通过RBD快照+克隆创建Ceph数据存储的本地COW副本(不到2秒)。保存输出中的快照/克隆名称以便unfork。每个目标名称只能有一个fork;重新fork之前先unfork
rdc datastore fork [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称(Ceph数据存储所在位置) | 是 | - |
--to <name> | 克隆后缀(创建名为<image>-fork-<name>的克隆)。fork保留在源机器上 | 是 | - |
--cow-size <size> | COW后备文件大小(默认:auto,按需增长) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
3.3 unfork
清理fork:卸载COW、移除克隆、移除快照
rdc datastore unfork [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称(Ceph数据存储所在位置) | 是 | - |
--source <image> | 被分叉的原始RBD镜像(来自config set-ceph --image,例如ds-prod) | 是 | - |
--snapshot <name> | 要移除的快照(fork输出中的"Snapshot:"值,例如fork-<timestamp>) | 是 | - |
--dest <image> | 要移除的克隆镜像(fork输出中的"Clone:"值,例如ds-prod-fork-<machine>) | 是 | - |
--pool <name> | Ceph池名称(默认:来自机器配置) | 否 | - |
--mount-point <path> | 要卸载的fork挂载点(默认:/mnt/rediacc) | 否 | - |
--force | 即使个别步骤失败(例如卸载、快照移除)也继续清理 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
3.4 status
显示数据存储后端、大小、使用情况、挂载状态和cow_mode(如果已分叉)
rdc datastore status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称(Ceph数据存储所在位置) | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
4. 机器管理
管理远程机器(状态、容器、服务、健康检查)
4.1 list
列出机器
rdc machine list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--search <text> | 在 {{field}} 中搜索 | 否 | - |
--sort <field> | 按字段排序 | 否 | - |
--desc | 降序排序 | 否 | - |
4.2 create
创建新机器
rdc machine create <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-b, --bridge <name> | 网桥名称 | 否 | - |
--vault <json> | 机器保险箱数据为 JSON 字符串 | 否 | - |
4.3 rename
重命名机器
rdc machine rename <oldName> <newName> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
4.4 delete
删除机器
rdc machine delete <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-f, --force | 跳过确认提示 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
4.5 vault
机器保险库管理 (仅限云适配器)
rdc machine vault
4.6 vault-status
{{t:cli.commands.machine.vault-status.description}}
rdc machine vault-status <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
4.7 update
更新机器配置
rdc machine update
4.8 health
检查 CI/CD 流水线的机器健康状况
health 命令输出系统指标、容器状态、服务稳定性和存储信息 — 适用于 CI/CD 管道检查。
rdc machine health <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
4.9 containers
列出机器上正在运行的容器
rdc machine containers <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--health-check | 健康检查模式 - 如果有不健康的容器,将以代码 2 退出 | 否 | - |
4.10 services
列出机器上的 systemd 服务
rdc machine services <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--stability-check | 稳定性检查模式 - 如果有失败/重启的服务,将以代码 2 退出 | 否 | - |
4.11 query
显示完整机器状态(系统、仓库、容器、服务)
rdc machine query <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--debug | 启用调试输出(本地模式) | 否 | - |
--system | 仅包含系统信息 | 否 | - |
--repositories | 仅包含仓库 | 否 | - |
--containers | 仅包含容器 | 否 | - |
--services | 仅包含服务 | 否 | - |
--network | 仅包含网络接口 | 否 | - |
--block-devices | 仅包含块设备 | 否 | - |
4.12 vault-status
显示机器的已解析保险箱状态
rdc machine vault-status <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
4.13 repos
列出机器上已部署的仓库
rdc machine repos <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--search <text> | 按名称过滤仓库 | 否 | - |
4.14 test-connection
测试到机器的 SSH 连接并捕获主机密钥
rdc machine test-connection [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--ip <address> | 机器 IP 地址或主机名 | 是 | - |
--user <name> | SSH 用户名 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
-b, --bridge <name> | 网桥名称 | 否 | - |
--port <number> | SSH 端口 | 否 | 22 |
--password <pwd> | 用于初始身份验证的 SSH 密码 | 否 | - |
--datastore <path> | 机器上的数据存储路径 | 否 | /mnt/rediacc |
-m, --machine <name> | 机器名称(用于测试后更新保险箱) | 否 | - |
--save | 测试成功后将 known_hosts 保存到机器保险箱 | 否 | - |
提示: 使用 `--save-known-hosts` 在测试成功后自动将主机密钥持久化到机器保险库中。
4.15 provision
使用OpenTofu在云提供商上配置新机器
rdc machine provision <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--provider <name> | 云提供商名称(来自config provider add) | 是 | - |
--region <region> | 覆盖默认区域 | 否 | - |
--type <type> | 覆盖默认实例类型 | 否 | - |
--image <image> | 覆盖默认操作系统镜像 | 否 | - |
--ssh-user <user> | 新虚拟机的SSH用户名(默认:root) | 否 | - |
--base-domain <domain> | 基础设施的基础域名(例如 example.com)。隐含 --infra | 否 | - |
--no-infra | 跳过基础设施配置(代理 + DNS) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
4.16 deprovision
销毁云配置的机器并从配置中移除
rdc machine deprovision <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--force | 跳过确认提示 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
4.17 backup
机器备份管理
schedule
将备份计划推送到远程机器(systemd 定时器)
rdc machine backup schedule <machine> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--debug | 启用调试输出(本地模式) | 否 | - |
4.18 prune
从机器中移除孤立的数据存储资源和过期快照
rdc machine prune <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--dry-run | 显示将被移除的内容,但不做实际更改 | 否 | - |
--orphaned-repos | 同时清理不在任何配置中的仓库镜像 | 否 | - |
--force | 跳过确认提示 | 否 | - |
--grace-days <days> | 最近归档仓库的宽限期天数(默认:7) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
5. MCP 服务器
用于 AI 代理的 Model Context Protocol 服务器
5.1 serve
启动 MCP 服务器(stdio 传输)
rdc mcp serve [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--config <name> | 用于所有命令的配置名称 | 否 | - |
--timeout <ms> | 默认命令超时时间(毫秒) | 否 | 120000 |
--allow-grand | 允许对 grand(非 fork)仓库执行破坏性操作。默认:仅 fork 模式 | 否 | - |
6. 仓库生命周期
在机器上部署和管理加密仓库
6.1 mount
挂载仓库 (打开 LUKS 容器)
rdc repo mount [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--checkpoint | 挂载后从检查点恢复 | 否 | - |
--no-docker | 挂载后跳过启动 Docker 守护进程 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.2 unmount
卸载仓库
rdc repo unmount [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--checkpoint | 卸载前创建检查点 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.3 up
部署或更新仓库(挂载、启动服务)
rdc repo up [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--mount | 先挂载仓库 | 否 | - |
--skip-checkpoint | 即使存在 checkpoint 数据也跳过 CRIU checkpoint 恢复(强制全新启动) | 否 | - |
--tls | 为此仓库请求专用 TLS 证书 (分支默认使用共享机器证书) | 否 | - |
--include-forks | 同时挂载/启动分叉的仓库 | 否 | - |
--mount-only | 仅挂载,不启动服务 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
6.4 up-all
部署机器上的所有仓库
rdc repo up-all
6.5 down
停止仓库服务
rdc repo down [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--unmount | 停止后卸载仓库 | 否 | - |
--checkpoint | 停止前创建 CRIU checkpoint(保存进程内存状态,以便后续通过 'repo up' 恢复) | 否 | - |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
6.6 status
获取仓库状态
rdc repo status <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.7 list
列出机器上的仓库
rdc repo list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.8 create
创建新的加密仓库
rdc repo create <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--size <size> | 仓库大小(例如 10G、100G、1T) | 是 | - |
--no-docker | 创建后跳过启动 Docker 守护进程 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.9 delete
删除仓库(销毁容器、卷和加密镜像)。配置条目将被保留。使用 --archive-config 将凭据移至 deletedRepositories,可通过 'config restore-archived' 恢复
rdc repo delete <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--archive-config | 将配置条目移至 deletedRepositories 以便后续恢复 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
6.10 fork
创建仓库的 CoW(写时复制)分支
rdc repo fork <parent> [tag] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--tag <name> | 分支的标签(创建 名称:标签) | 否 | - |
--checkpoint | fork 前在源上创建 CRIU checkpoint(捕获进程内存状态以便在 fork 上恢复) | 否 | - |
--up | fork后挂载并启动服务(fork + mount + up 一条命令完成) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.11 takeover
用分支的数据替换主仓库的数据。主仓库保留其身份(GUID、networkId、域名、自动启动、备份链),但获取分支的升级数据。旧的生产数据作为备份分支保留。用途:在分支上测试升级 → 验证 → 接管到生产环境。
rdc repo takeover <fork> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--force | 跳过修改警告 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.12 resize
离线调整仓库大小(支持扩展和缩减)
rdc repo resize <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--size <size> | 新的仓库大小(例如 10G、100G、1T) | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.13 expand
在线扩展已挂载的仓库(零停机)
rdc repo expand <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--size <size> | 新的仓库大小(例如 10G、100G、1T) | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.14 validate
验证仓库完整性
rdc repo validate <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.15 autostart
管理开机时仓库的自动启动
enable
为仓库启用自动启动
rdc repo autostart enable [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
disable
为仓库禁用自动启动
rdc repo autostart disable [name] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
list
列出已启用自动启动的仓库
rdc repo autostart list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.16 ownership
更改仓库目录所有权
rdc repo ownership <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
--uid <uid> | 所有者 UID(默认: 7111) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.17 template
将模板应用到仓库
list
列出 CLI 内置的所有部署模板
rdc repo template list
apply
Apply a template to a repository. Use a built-in template name (e.g. app-postgres) or --file for a custom JSON template. The template writes Rediaccfile, docker-compose.yml, and any additional files to the repository mount
rdc repo template apply <template> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 目标机器名称 | 是 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 是 | - |
--file <path> | 模板 JSON 文件路径 | 否 | - |
--grand <name> | 主仓库名称 (自动解析为 GUID) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.18 push
将仓库推送到远程(机器或存储)。省略名称以推送所有仓库。目标类型从配置中自动检测。机器间传输时,加密的仓库映像使用相同的GUID复制 — 这是备份/迁移,不是fork。要创建独立的fork,请先使用'repo fork',然后push。使用--up在push后部署
rdc repo push [repo] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--to <remote> | 目标机器或存储名称(从配置中自动检测) | 否 | - |
--to-machine <machine> | — | 否 | - |
--provision <provider> | 如果目标机器不存在,通过云提供商自动配置 | 否 | - |
--checkpoint | 备份前创建CRIU检查点(捕获进程内存状态用于实时迁移) | 否 | - |
--force | 强制覆盖现有备份 | 否 | - |
--up | 推送后,在目标机器上挂载并部署仓库 | 否 | - |
--tag <tag> | 用于版本控制的部署标签 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-w, --watch | 监视更改 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.19 pull
从远程(机器或存储)拉取仓库。省略名称以拉取所有仓库。源类型从配置中自动检测。使用--up在pull后部署
rdc repo pull [repo] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--from <remote> | 源机器或存储名称(从配置中自动检测) | 否 | - |
--from-machine <machine> | — | 否 | - |
--force | 强制覆盖现有仓库 | 否 | - |
--up | pull后,在此机器上挂载并部署仓库 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-w, --watch | 监视更改 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.20 backup
管理仓库备份
list
列出远程(机器或存储)上的可用备份
rdc repo backup list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--from <remote> | 源机器或存储名称(从配置中自动检测) | 否 | - |
--from-machine <machine> | — | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-w, --watch | 监视更改 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.21 sync
同步仓库和文件(批量推送/拉取,文件传输)
push
将仓库推送到云存储(省略名称则推送全部)
rdc repo sync push
pull
从云存储拉取仓库(省略名称则拉取全部)
rdc repo sync pull
upload
上传文件到仓库
rdc repo sync upload [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
--local <path> | 本地目录路径(默认:当前目录) | 否 | - |
--remote <path> | 仓库内的远程子目录路径 | 否 | - |
--mirror | 镜像模式 - 删除本地不存在的远程文件 | 否 | - |
--verify | 同步后使用校验和验证文件 | 否 | - |
--confirm | 预览更改并在同步前请求确认 | 否 | - |
--exclude <patterns...> | 从同步中排除的模式 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
download
从仓库下载文件
rdc repo sync download [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
--local <path> | 本地目录路径(默认:当前目录) | 否 | - |
--remote <path> | 仓库内的远程子目录路径 | 否 | - |
--mirror | 镜像模式 - 删除远程不存在的本地文件 | 否 | - |
--verify | 同步后使用校验和验证文件 | 否 | - |
--confirm | 预览更改并在同步前请求确认 | 否 | - |
--exclude <patterns...> | 从同步中排除的模式 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
status
检查同步状态并比较本地/远程文件
rdc repo sync status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
--local <path> | 本地目录路径(默认:当前目录) | 否 | - |
--remote <path> | 仓库内的远程子目录路径 | 否 | - |
6.22 snapshot
管理远程机器上的 BTRFS 快照
create
创建仓库的 BTRFS 快照
rdc repo snapshot create
list
列出远程机器上的快照
rdc repo snapshot list
delete
从远程机器上删除快照
rdc repo snapshot delete
6.23 tunnel
创建到远程机器上容器端口的 SSH 端口转发隧道。当无歧义时自动检测容器和端口。隧道保持打开直到按下 Ctrl+C
rdc repo tunnel [machine] [repository] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-c, --container <name> | 容器名称(仅一个运行时自动检测) | 否 | - |
--port <port> | 要转发的远程容器端口 | 否 | - |
--local <port> | 本地端口(默认与远程端口相同) | 否 | - |
7. 存储管理
管理存储提供商和浏览远程文件
7.1 list
列出存储提供商
rdc storage list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--search <text> | 在 {{field}} 中搜索 | 否 | - |
--sort <field> | 按字段排序 | 否 | - |
--desc | 降序排序 | 否 | - |
7.2 create
创建新的存储提供商
rdc storage create <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
7.3 rename
重命名存储提供商
rdc storage rename <oldName> <newName> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
7.4 delete
删除存储提供商
rdc storage delete <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-f, --force | 跳过确认提示 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
7.5 vault
存储保险库管理 (仅限云适配器)
rdc storage vault
7.6 browse
浏览存储系统中的文件
rdc storage browse <name> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--path <subpath> | 要列出的子目录路径 | 否 | “ |
7.7 prune
删除存储中不在任何配置中的孤立备份。多配置安全,带宽限期保护。
rdc storage prune <storageName> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
--force | 跳过确认提示 | 否 | - |
--grace-days <days> | 最近归档仓库的宽限期天数(默认:7) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
7.8 pull
从云存储拉取备份到机器
rdc storage pull
8. VS Code 集成
打开 VS Code Remote SSH 连接到机器或仓库
8.1 connect
在 VS Code 中连接到机器或仓库
rdc vscode connect [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-m, --machine <name> | 机器名称 | 否 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
-f, --folder <path> | 远程文件夹路径以打开 | 否 | - |
--url-only | 打印 VS Code URI 而不是启动 | 否 | - |
-n, --new-window | 在新 VS Code 窗口中打开 | 否 | - |
--skip-env-setup | 跳过远程环境设置 | 否 | - |
--insiders | 使用 VS Code Insiders 设置 | 否 | - |
8.2 list
列出已配置的 VS Code SSH 连接
rdc vscode list
8.3 cleanup
移除 VS Code SSH 配置
rdc vscode cleanup [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--all | 移除所有 rediacc SSH 配置 | 否 | - |
-c, --connection <name> | 移除特定连接 | 否 | - |
8.4 check
检查 VS Code 安装和配置
rdc vscode check [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--insiders | 使用 VS Code Insiders 设置 | 否 | - |
9. SSH 终端访问
SSH 终端访问机器和仓库
9.1 connect
通过 SSH 连接到机器或仓库
rdc term connect [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
-m, --machine <name> | 机器名称 | 否 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
-c, --command <cmd> | 执行命令而不是交互式 shell | 否 | - |
--container <id> | 连接到特定 Docker 容器 | 否 | - |
--container-action <action> | 容器操作:terminal、logs、stats、exec | 否 | - |
--log-lines <lines> | 显示的日志行数(默认:50) | 否 | - |
--follow | 跟踪日志输出 | 否 | - |
--external | 强制在外部终端窗口中启动 | 否 | - |
--reset-home | 重置每个仓库的主目录覆盖层以全新开始 | 否 | - |
10. 协议处理器
注册和处理 {{scheme}}:// 协议 URL
10.1 register
在系统上注册协议处理程序
rdc protocol register [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--system | 系统范围内注册(需要管理员权限) | 否 | - |
--force | 强制重新注册即使已注册 | 否 | - |
10.2 unregister
从系统中注销协议处理程序
rdc protocol unregister [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--system | 注销系统范围的注册(需要管理员权限) | 否 | - |
10.3 status
显示协议处理程序注册状态
rdc protocol status
10.4 open
打开 {{scheme}}:// URL 并执行操作
rdc protocol open <url>
10.5 build
从组件构建 {{scheme}}:// URL
rdc protocol build [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--token <token> | 身份验证令牌 | 是 | - |
-t, --team <name> | 团队名称 | 是 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
-a, --action <action> | 操作({{actions}}) | 否 | desktop |
-p, --params <key=value...> | 附加参数 | 否 | - |
10.6 parse
解析 {{scheme}}:// URL 并显示组件
rdc protocol parse <url>
11. 快捷命令(快捷方式)
11.1 run
运行函数(快捷方式:queue create)
rdc run
11.2 trace
跟踪任务 (queue trace 的快捷方式)
rdc trace
11.3 cancel
取消任务 (queue cancel 的快捷方式)
rdc cancel
11.4 retry
重试失败的任务 (queue retry 的快捷方式)
rdc retry
12. 订阅管理
管理机器许可证和订阅
12.1 login
使用Web门户的API令牌进行认证
rdc subscription login [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --token <token> | API令牌 (rdt_...) | 否 | - |
--server <url> | 账户服务器URL | 否 | - |
12.2 logout
清除已存储的订阅令牌
rdc subscription logout
12.3 status
显示订阅和许可证状态
rdc subscription status
12.4 activation
机器激活管理
status
显示单台机器的激活状态
rdc subscription activation status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
12.5 repo
仓库许可证管理
status
显示机器上已安装的仓库许可证
rdc subscription repo status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
12.6 refresh
刷新机器许可证
activation
刷新远程机器的激活状态
rdc subscription refresh activation [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
repos
批量刷新远程机器上的仓库许可证
rdc subscription refresh repos [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
repo
刷新特定仓库的许可证
rdc subscription refresh repo <repo> [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
13. CLI 更新
检查并应用CLI更新
rdc update [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--force | 即使已是最新也强制更新 | 否 | - |
--check-only | 仅检查更新,不下载 | 否 | - |
--rollback | 回滚到上一个版本 | 否 | - |
--status | 显示自动更新状态和诊断信息 | 否 | - |
14. 系统诊断
诊断CLI环境和renet集成
rdc doctor
15. 实验性 VM 操作
实验性 VM 操作(创建、管理、销毁)
15.1 up
在本地创建 VM 集群
rdc ops up [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--force | 强制重启所有 VM | 否 | - |
--parallel | 并行创建 VM | 否 | - |
--basic | 最小集群(网桥 + 1 个工作节点) | 否 | - |
--lite | 跳过 VM 配置(仅查看状态) | 否 | - |
--skip-orchestration | 跳过集群编排 | 否 | - |
--backend <backend> | 虚拟化后端 (kvm|qemu,自动检测) | 否 | - |
--os <name> | VM 操作系统(例如 ubuntu-24.04、debian-12) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
15.2 down
销毁 VM 集群
rdc ops down [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--backend <backend> | 虚拟化后端 (kvm|qemu,自动检测) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
15.3 status
显示 VM 集群状态
rdc ops status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--backend <backend> | 虚拟化后端 (kvm|qemu,自动检测) | 否 | - |
15.4 ssh
通过 SSH 连接到 VM
rdc ops ssh <vmId> [command...] [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--backend <backend> | 虚拟化后端 (kvm|qemu,自动检测) | 否 | - |
--user <user> | VM 连接的 SSH 用户名 | 否 | - |
15.5 setup
安装虚拟化前置条件
rdc ops setup [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--debug | 启用调试输出(本地模式) | 否 | - |
15.6 check
验证虚拟化前置条件
rdc ops check
常见错误消息
当出现问题时,CLI 会提供清晰的错误消息:
| 错误 | 含义 |
|---|---|
| 需要身份验证。运行:rdc auth login | 您需要先登录 |
| 没有活跃的配置。请使用以下命令创建:rdc config init <name> | 没有活跃的配置 — 请使用 `rdc config init` 创建一个 |
| 权限被拒绝 | 您的帐户缺少所需的权限 |
| 需要机器名称。使用 --machine <name> | 使用 `--machine` 指定机器或设置上下文默认值 |
| 需要团队名称。使用 --team 或设置上下文。 | 使用 `--team` 指定团队或设置上下文默认值 |
| 需要区域名称。使用 --region 或设置上下文。 | 使用 `--region` 指定区域或设置上下文默认值 |
输出格式
所有列表/获取命令通过 `--output` 支持多种输出格式:
rdc machine list --output json
rdc machine list --output yaml
rdc machine list --output csv
rdc machine list --output table # default
这使得将 Rediacc CLI 集成到脚本、CI/CD 管道和自动化工作流中变得容易。