Rediacc CLI 参考
概述
**Rediacc CLI**(`rdc`)是一个用于管理 Rediacc 平台所有方面的命令行界面 — 身份验证、基础设施、仓库、队列、存储等。
安装
从 [Rediacc 发布页面](https://www.rediacc.com) 下载适用于您平台的最新二进制文件,或通过包管理器安装:
# macOS / Linux
curl -fsSL https://www.rediacc.com | sh
# Or use the packaged binary directly
./rdc --help
全局选项
每个命令都支持以下全局标志:
| 标志 | 描述 |
|---|---|
--output | 输出格式(table|json|yaml|csv)。使用 REDIACC_DEFAULT_OUTPUT 覆盖默认值。 |
--config | 为此命令使用特定配置 |
--lang | 语言覆盖({{languages}}) |
--force | 跳过确认提示 |
1. 代理工具
适用于 AI 编程助手的代理工具
1.1 capabilities
列出所有可用命令及其参数和选项
rdc agent capabilities
1.2 schema
显示特定命令的详细模式信息
rdc agent schema [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--command <path> | 执行命令而不是交互式 shell | 是 | - |
1.3 exec
通过 stdin 接收 JSON 输入并执行命令
rdc agent exec [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--command <path> | 执行命令而不是交互式 shell | 是 | - |
1.4 generate-reference
为 Claude 技能生成命令参考 Markdown
rdc agent generate-reference
2. 配置管理
管理配置文件、机器和 SSH 连接
配置文件存储连接详情(API URL、凭证、默认 team/region/bridge),让您可以快速切换环境。
2.1 prune
从 ~/.config/rediacc/<config>.json 中的本地配置文件中移除无用内容。清理三类内容,全部为纯本地操作(无 SSH/renet 调用):(1)锚点 GUID/仓库/机器不再存在于活动配置中的 ACME 证书缓存条目;(2)宽限期已过期的归档仓库(默认 7 天,参见 defaults.pruneGraceDays);(3)悬空的交叉引用(machine→strategy、strategy→repo)。在用资源、凭据、存储令牌和 known-hosts 永远不会被触及。默认行为是应用更改;使用 --dry-run 仅预览。
rdc config prune [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--dry-run | 预览将要移除的内容,但不修改配置文件。镜像其他 prune 命令的默认关闭语义。 | 否 | - |
--certs-only | 限制为 ACME 证书缓存桶。跳过归档清除和交叉引用清理。与 --archives-only 和 --refs-only 互斥。 | 否 | - |
--archives-only | 限制为过期归档清除。跳过证书缓存和交叉引用清理。与 --certs-only 和 --refs-only 互斥。 | 否 | - |
--refs-only | 限制为悬空交叉引用(machine→strategy、strategy→repo 排除/包含)。跳过证书缓存和归档。与 --certs-only 和 --archives-only 互斥。 | 否 | - |
--purge-archived | 无论年龄如何,删除所有归档仓库,而不仅仅是超过宽限期的仓库。等同于运行 'rdc config repository purge-archived'。仅在确定不需要任何存储的凭据进行恢复时使用。 | 否 | - |
--grace-days <days> | 覆盖此调用的归档宽限窗口(以天为单位)。回退到配置中的 defaults.pruneGraceDays,如果都未设置则回退到 7。 | 否 | - |
2.2 init
创建新的命名配置文件
在本地模式下,您可以直接添加机器:
rdc config init [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
--ssh-key <path> | SSH 私钥路径(例如:~/.ssh/id_rsa) | 否 | - |
--renet-path <path> | renet 二进制文件的路径(默认:PATH 中的 renet) | 否 | - |
--master-password <password> | 使用主密码加密资源 | 否 | - |
-u, --api-url <url> | API 网址 | 否 | - |
--server <url> | 账户服务器URL | 否 | - |
2.3 list
列出所有配置文件
rdc config list
2.4 show
显示当前配置详情
rdc config show [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--reveal | 以明文显示敏感值(仅限交互模式) | 否 | - |
2.5 delete
删除配置文件
rdc config delete [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
2.6 set
设置默认值(team、region、bridge)
rdc config set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--key <key> | 配置键 | 是 | - |
--value <value> | 配置值 | 是 | - |
提示: 设置默认值意味着您无需在每条命令中传入 `--team`、`--region` 或 `--bridge`。
2.7 clear
清除默认值(全部或特定键)
rdc config clear [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--key <key> | 配置键 | 否 | - |
2.8 recover
从备份文件 (.bak) 恢复配置
rdc config recover [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-y, --yes | 跳过确认提示 | 否 | - |
2.9 set-ssh
更新当前配置的 SSH 配置
rdc config set-ssh
2.10 set-renet
为本地模式设置 renet 二进制文件路径
rdc config set-renet
2.11 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.12 remote
管理远程配置存储连接
enable
将此配置链接到远程加密存储
rdc config remote enable [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--headless | 使用设备代码流程(用于无界面服务器) | 否 | - |
--api-url <url> | 账户服务器URL | 否 | - |
disable
断开远程存储连接并将配置保存到本地
rdc config remote disable
status
显示远程连接状态
rdc config remote status
refresh
强制从远程存储重新获取配置
rdc config remote refresh
2.13 machine
管理当前配置中的机器
add
将机器添加到当前配置
rdc config machine add [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--ip <address> | 机器 IP 地址或主机名 | 是 | - |
--user <username> | SSH 用户名 | 是 | - |
--port <port> | SSH 端口 | 否 | 22 |
--datastore <path> | 机器上的数据存储路径 | 否 | /mnt/rediacc |
remove
从当前配置中移除机器
rdc config machine remove [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
list
列出当前配置中的机器
rdc config machine list
scan-keys
扫描当前配置中机器的 SSH 主机密钥
rdc config machine scan-keys [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 否 | - |
setup
为仓库配置远程机器(安装 renet、配置 Docker、BTRFS 数据存储)。幂等操作。在 config machine add 之后、repo create 之前需要执行
rdc config machine setup [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--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.14 repository
管理当前配置中的仓库映射
add
将仓库 GUID 映射添加到当前配置
rdc config repository add [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--guid <guid> | 仓库 GUID(来自存储备份文件名的 UUID) | 是 | - |
--tag <tag> | 仓库标签 | 否 | latest |
--credential <credential> | 仓库凭据(加密口令) | 否 | - |
--network-id <id> | 用于 Docker 隔离的网络 ID(2816, 2880, ...)。省略时自动分配 | 否 | - |
remove
从当前配置中移除仓库映射
rdc config repository remove [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
list
列出当前配置中的仓库 GUID 映射
rdc config repository list
list-archived
列出已归档的仓库凭据
rdc config repository list-archived
restore-archived
恢复已归档的仓库凭据
rdc config repository restore-archived [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--new-name <name> | 新资源名称 | 否 | - |
purge-archived
永久删除所有已归档的凭据
rdc config repository purge-archived
2.15 provider
管理用于自动配置机器的云服务提供商
add
添加云服务提供商
rdc config provider add [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
list
列出已配置的云服务提供商
rdc config provider list
2.16 storage
管理当前配置中的存储后端
import
从 rclone 配置文件导入存储
rdc config storage import [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--file <path> | 文件路径 | 是 | - |
--name <name> | 仅导入指定的命名部分 | 否 | - |
remove
从当前配置中移除存储
rdc config storage remove [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
list
列出当前配置中的存储
rdc config storage list
2.17 infra
管理基础设施配置(代理、DNS、证书)
set
设置机器的基础设施配置(机器特定:IP、域名、端口;共享:证书邮箱、CF DNS 令牌)
rdc config infra set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
push
将基础设施配置推送到机器(Traefik 代理、路由器、Cloudflare DNS)。请先运行 'config infra set <machine>'
rdc config infra push [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
2.18 cert-cache
管理缓存的 TLS 证书
pull
从机器下载并缓存 TLS 证书
rdc config cert-cache pull [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--no-prune | 跳过清理过期的网络 ID 证书 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
push
将缓存的 TLS 证书上传到机器
rdc config cert-cache push [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
status
显示缓存的证书清单
rdc config cert-cache status
clear
移除证书缓存
rdc config cert-cache clear
2.19 field
基于 JSON 指针(RFC 6901)的配置字段操作(get/set/unset/rotate/list),如 /credentials/cfDnsApiToken。
get
按 JSON 指针读取单个配置值。敏感字段默认脱敏,除非使用 --reveal(仅限人工)。
rdc config field get [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--pointer <pointer> | 指向字段的 JSON 指针(例如 /credentials/cfDnsApiToken) | 是 | - |
--reveal | 以明文显示敏感值(仅限交互式 TTY;记入审计日志) | 否 | - |
--digest | 输出 SHA-256 摘要而非数值(可安全地分享给代理) | 否 | - |
set
在 JSON 指针位置写入配置值。敏感路径需提供 --current(知识门控)。
rdc config field set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--pointer <pointer> | 指向字段的 JSON 指针(例如 /credentials/cfDnsApiToken) | 是 | - |
--new <value> | 新值(若以 {、[、" 开头或为 true/false/null/数字,则按 JSON 解析) | 是 | - |
--current <value> | 当前明文值 — 修改敏感路径时必填(知识门控证明) | 否 | - |
unset
删除 JSON 指针位置的配置值。敏感路径需提供 --current。
rdc config field unset [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--pointer <pointer> | 指向字段的 JSON 指针(例如 /credentials/cfDnsApiToken) | 是 | - |
--current <value> | 当前明文值 — 删除敏感路径时必填 | 否 | - |
rotate
在不提供 --current 的情况下轮换敏感值。仅交互式 TTY;详尽审计。
rdc config field rotate [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--pointer <pointer> | 指向敏感字段的 JSON 指针(例如 /credentials/cfDnsApiToken) | 是 | - |
--new <value> | 新值 | 是 | - |
list
列出每个已注册的敏感字段指针模板及其类别和提交/加密策略。
rdc config field list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--sensitive | 仅显示敏感(非公开)模板 | 否 | - |
2.20 edit
在 $EDITOR 中以脱敏后的 JSONC 投影打开当前配置。仅限人工;拒绝代理。
rdc config edit [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--reveal | 以明文显示敏感值(仅限交互式 TTY;记入审计日志) | 否 | - |
--dump | 将当前配置以 JSONC 形式输出到 stdout,不打开编辑器(只读;脱敏时代理也可安全使用) | 否 | - |
--apply <file> | 应用已编辑的 JSONC 文件(跳过启动 $EDITOR) | 否 | - |
--current-secrets <file> | 指针→旧明文 的 JSON 映射文件,用于 --apply 时的知识门控 | 否 | - |
--editor <cmd> | 编辑器命令(遵循 git 优先级:--editor > $GIT_EDITOR > git config core.editor > $VISUAL > $EDITOR) | 否 | - |
2.21 audit
查看配置审计日志(~/.config/rediacc/audit.log.jsonl 中的哈希链 JSONL)
log
以 JSON 格式打印最近的审计条目
rdc config audit log [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--since <spec> | 仅显示指定时间之后的条目(例如 '24h'、'7d'、ISO 时间戳) | 否 | - |
--path <glob> | 按 JSON 指针通配符过滤(例如 /credentials/*) | 否 | - |
--actor <kind> | 按操作者类型过滤(human|agent) | 否 | - |
tail
实时输出新写入的审计条目(Ctrl+C 停止)
rdc config audit tail
verify
验证所有审计条目上 SHA-256 哈希链的完整性
rdc config audit verify
2.22 backup-strategy
管理命名备份策略(热/冷模式、目标、调度)
set
创建或更新备份策略
rdc config backup-strategy set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 策略名称(必填) | 是 | - |
--destination <name> | 策略内的目标名称 | 否 | - |
--storage <name> | 存储配置名称(rclone 凭据) | 否 | - |
--cron <expression> | Cron 调度(例如 "0 * * * *" 表示每小时) | 否 | - |
--mode <mode> | 备份模式:"hot"(零停机)或 "cold"(停止、快照、重启) | 否 | - |
--bwlimit <limit> | Rclone 带宽限制(例如 "6M"、"10M:off"、"08:00,3M;22:00,10M") | 否 | - |
--include <repos> | 仅备份这些仓库(逗号分隔的名称) | 否 | - |
--exclude <repos> | 从备份中排除这些仓库(逗号分隔的名称) | 否 | - |
--folder <path> | 该目标在存储桶中的子文件夹(如 hot, cold) | 否 | - |
--enable | 启用策略或目标 | 否 | - |
--disable | 禁用策略或目标 | 否 | - |
remove
删除备份策略或目标
rdc config backup-strategy remove [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 策略名称(必填) | 是 | - |
--destination <name> | 仅删除此目标(保留其他目标) | 否 | - |
list
列出所有备份策略
rdc config backup-strategy list
show
显示备份策略详情
rdc config backup-strategy show [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 策略名称(省略时显示全部) | 否 | - |
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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
-b, --bridge <name> | 网桥名称 | 否 | - |
--vault <json> | 机器保险箱数据为 JSON 字符串 | 否 | - |
4.3 rename
重命名机器
rdc machine rename [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--current-name <name> | 当前资源名称 | 是 | - |
--new-name <name> | 新资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
4.4 delete
删除机器
rdc machine delete [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
4.7 update
更新机器配置
rdc machine update
4.8 health
检查 CI/CD 流水线的机器健康状况
health 命令输出系统指标、容器状态、服务稳定性和存储信息 — 适用于 CI/CD 管道检查。
rdc machine health [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
4.9 containers
列出机器上正在运行的容器
rdc machine containers [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
--health-check | 健康检查模式 - 如果有不健康的容器,将以代码 2 退出 | 否 | - |
4.10 services
列出机器上的 systemd 服务
rdc machine services [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
--stability-check | 稳定性检查模式 - 如果有失败/重启的服务,将以代码 2 退出 | 否 | - |
4.11 query
显示完整机器状态(系统、仓库、容器、服务)
rdc machine query [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--system | 仅包含系统信息 | 否 | - |
--repositories | 仅包含仓库 | 否 | - |
--containers | 仅包含容器 | 否 | - |
--services | 仅包含服务 | 否 | - |
--network | 仅包含网络接口 | 否 | - |
--block-devices | 仅包含块设备 | 否 | - |
--licenses | 包含仓库许可证状态 | 否 | - |
--storage-health | 显示每个仓库的 BTRFS 碎片化和 reflink 节省量 | 否 | - |
--sync-certs | 查询后也从机器拉取 ACME 证书缓存 | 否 | - |
--strict | 如果任何容器超过健康漂移阈值,以非零(代码 2)退出 | 否 | - |
4.12 vault-status
显示机器的已解析保险箱状态
rdc machine vault-status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
4.13 repos
列出机器上已部署的仓库
rdc machine repos [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--force | 跳过确认提示 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
4.17 backup
机器备份管理
list
列出绑定到所有机器的备份策略
rdc machine backup list
schedule
将备份计划部署到远程机器(systemd 定时器)
rdc machine backup schedule [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--dry-run | 预览生成的单元而不部署 | 否 | - |
--force | 即使当前有备份正在运行也继续执行(新单元在下次定时器触发时生效;正在运行的调用保留其旧单元) | 否 | - |
--reset-failed | 部署成功后清除已修改服务的 failed 状态(默认关闭,保留故障信号) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
now
在远程机器上立即触发备份
rdc machine backup now [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--strategy <name> | 策略名称(省略时触发全部) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
status
显示远程机器上的备份状态和定时器状态
rdc machine backup status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--strategy <name> | 显示特定策略的详细信息 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
cancel
取消远程机器上正在运行的备份
rdc machine backup cancel [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 是 | - |
--strategy <name> | 策略名称(省略时取消全部) | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
4.18 prune
从机器中移除孤立的数据存储资源和过期快照
rdc machine prune [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--dry-run | 显示将被移除的内容,但不做实际更改 | 否 | - |
--orphaned-repos | 同时清理不在任何配置中的仓库镜像 | 否 | - |
--prune-unknown | 仅删除 renet .interim/state 镜像无法分类的仓库(不在本地配置中且没有标记为 fork 的镜像)。比 --orphaned-repos 严格更窄:镜像识别时保留没有配置的 fork。镜像前的遗留孤儿和配置条目已删除的过时 grands 都属于此类别。 | 否 | - |
--force-delete-mounted | 覆盖挂载安全预检并删除仓库,即使它们当前已挂载或有正在运行的 Docker 容器。与 --force 不同(后者仅覆盖归档宽限期)。适用于 --orphaned-repos 和 --prune-unknown。 | 否 | - |
--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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--checkpoint | 挂载后从检查点恢复 | 否 | - |
--no-docker | 挂载后跳过启动 Docker 守护进程 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.2 unmount
卸载仓库
rdc repo unmount [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--checkpoint | 卸载前创建检查点 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.3 up
部署或更新仓库(挂载、启动服务)
rdc repo up [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--unmount | 停止后卸载仓库 | 否 | - |
--checkpoint | 停止前创建 CRIU checkpoint(保存进程内存状态,以便后续通过 'repo up' 恢复) | 否 | - |
-y, --yes | 跳过批量操作确认 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
6.6 status
获取仓库状态
rdc repo status [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--archive-config | 将配置条目移至 deletedRepositories 以便后续恢复 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
6.10 fork
创建仓库的 CoW(写时复制)分支
rdc repo fork [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--parent <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--force | 跳过修改警告 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.12 resize
离线调整仓库大小(支持扩展和缩减)
rdc repo resize [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--size <size> | 新的仓库大小(例如 10G、100G、1T) | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.13 expand
在线扩展已挂载的仓库(零停机)
rdc repo expand [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--size <size> | 新的仓库大小(例如 10G、100G、1T) | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.14 validate
验证仓库完整性
rdc repo validate [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.15 autostart
管理开机时仓库的自动启动
enable
为仓库启用自动启动
rdc repo autostart enable [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-m, --machine <name> | 目标机器名称 | 是 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
disable
为仓库禁用自动启动
rdc repo autostart disable [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
--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 | 跳过批量操作确认 | 否 | - |
--bwlimit <limit> | rsync 传输带宽限制(例如 "6M"、"10M") | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.19 pull
从远程(机器或存储)拉取仓库。省略名称以拉取所有仓库。源类型从配置中自动检测。使用--up在pull后部署
rdc repo pull [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 否 | - |
--from <remote> | 源机器或存储名称(从配置中自动检测) | 否 | - |
--from-machine <machine> | — | 否 | - |
--force | 强制覆盖现有仓库 | 否 | - |
--up | pull后,在此机器上挂载并部署仓库 | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
-w, --watch | 监视更改 | 否 | - |
--parallel | 并发启动仓库 | 否 | - |
--concurrency <n> | 最大并发仓库数 (默认: 3) | 否 | 3 |
-y, --yes | 跳过批量操作确认 | 否 | - |
--bwlimit <limit> | rsync 传输带宽限制(例如 "6M"、"10M") | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.20 migrate
以最小停机时间将仓库从一台机器实时迁移到另一台。两阶段 rsync:运行时批量传输,然后短暂停止进行差异同步。支持 CRIU 检查点用于进程内存迁移和目标机器自动配置
rdc repo migrate [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--from <machine> | 源机器名称 | 是 | - |
--to <machine> | 目标机器名称 | 是 | - |
--provision <provider> | 通过云服务商自动配置目标机器(例如 hetzner、linode) | 否 | - |
--bwlimit <limit> | rsync 传输带宽限制(例如 10M) | 否 | - |
--checkpoint | CRIU 实时迁移:捕获和恢复进程内存状态 | 否 | - |
--skip-dns | 迁移后跳过 DNS 记录切换 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
6.21 backup
管理仓库备份
list
列出远程(机器或存储)上的可用备份
rdc repo backup list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--from <remote> | 源机器或存储名称(从配置中自动检测) | 否 | - |
--from-machine <machine> | — | 否 | - |
-m, --machine <name> | 机器名称 | 是 | - |
--path <subdir> | 存储根内的子目录。省略时,hot/ 和 cold/ 都会被列出并合并。 | 否 | - |
-w, --watch | 监视更改 | 否 | - |
--debug | 启用调试输出(本地模式) | 否 | - |
--skip-router-restart | 二进制更新后跳过重启路由服务器 | 否 | - |
6.22 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 <paths...> | 一个或多个本地文件或目录路径(默认:当前目录) | 否 | - |
--remote <path> | 仓库内的远程子目录路径 | 否 | - |
--remote-file <path> | 要上传到的单个远程文件路径(相对于仓库根目录)。与 --remote 互斥。 | 否 | - |
--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> | 仓库内的远程子目录路径 | 否 | - |
--remote-file <path> | 仓库中的远程文件路径(用于单文件传输,作为 --remote 的替代项) | 否 | - |
--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> | 仓库内的远程子目录路径 | 否 | - |
--remote-file <path> | 仓库中的远程文件路径(用于单文件传输,作为 --remote 的替代项) | 否 | - |
6.23 snapshot
管理远程机器上的 BTRFS 快照
create
创建仓库的 BTRFS 快照
rdc repo snapshot create
list
列出远程机器上的快照
rdc repo snapshot list
delete
从远程机器上删除快照
rdc repo snapshot delete
6.24 tunnel
创建到远程机器上容器端口的 SSH 端口转发隧道。当无歧义时自动检测容器和端口。隧道保持打开直到按下 Ctrl+C
rdc repo tunnel [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-m, --machine <name> | 机器名称 | 否 | - |
-r, --repository <name> | 仓库名称(连接到仓库环境) | 否 | - |
-c, --container <name> | 容器名称(仅一个运行时自动检测) | 否 | - |
--port <port> | 要转发的远程容器端口 | 否 | - |
--local <port> | 本地端口(默认与远程端口相同) | 否 | - |
6.25 secret
Manage per-repo secrets injected at deploy time. Two modes: env (REDIACC_SECRET_<KEY> via compose ${VAR} interpolation) and file (host tmpfs at /var/run/rediacc/secrets/<networkId>/<KEY>, mounted via Docker compose `secrets:` block). Secrets never enter the encrypted LUKS image, so forks inherit none — externals see the fork as a different principal.
get
Read a single secret. Returns a redacted stub (`<redacted:secret>:<digest8>`) under agent context regardless of policy.
rdc repo secret get [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <repository> | 仓库名称(例如 mail、mail:staging)。未指定标签时默认为 :latest。 | 是 | - |
--key <KEY> | UPPER_SNAKE_CASE 格式的密钥(最多 64 个字符)。在 env 模式下作为 REDIACC_SECRET_<KEY> 暴露,在 file 模式下作为容器中的 /run/secrets/<key>。 | 是 | - |
list
列出密钥的键和模式(绝不显示值,绝不显示摘要)。
rdc repo secret list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <repository> | 仓库名称(例如 mail、mail:staging)。未指定标签时默认为 :latest。 | 是 | - |
set
设置或覆盖一个密钥。Fork 不继承;请在 fork 上显式设置。在代理上下文中,需要 --current 摘要匹配(passwd 风格)。
rdc repo secret set [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <repository> | 仓库名称(例如 mail、mail:staging)。未指定标签时默认为 :latest。 | 是 | - |
--key <KEY> | UPPER_SNAKE_CASE 格式的密钥(最多 64 个字符)。在 env 模式下作为 REDIACC_SECRET_<KEY> 暴露,在 file 模式下作为容器中的 /run/secrets/<key>。 | 是 | - |
--value <value> | 密钥值。传递 `-` 以从 stdin 读取(避免在 shell 历史记录中暴露)。 | 是 | - |
--mode <mode> | 传递模式:'env'(在容器环境中可见,docker inspect)或 'file'(tmpfs 文件,永不出现在 env 中)。默认:file。 | 否 | file |
--current <value> | SHA-256 digest of the previous value (passwd-style precondition). Required for overwrite under agent context; optional for first-write. | 否 | - |
--rotate-secret | 确认轮换;跳过 --current 前置条件(作为轮换审计)。在不验证先前值的情况下故意轮换时使用。 | 否 | - |
unset
删除一个密钥。在代理上下文中,需要 --current 摘要匹配。
rdc repo secret unset [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <repository> | 仓库名称(例如 mail、mail:staging)。未指定标签时默认为 :latest。 | 是 | - |
--key <KEY> | UPPER_SNAKE_CASE 格式的密钥(最多 64 个字符)。在 env 模式下作为 REDIACC_SECRET_<KEY> 暴露,在 file 模式下作为容器中的 /run/secrets/<key>。 | 是 | - |
--current <value> | SHA-256 digest of the previous value (passwd-style precondition). Required for overwrite under agent context; optional for first-write. | 否 | - |
--rotate-secret | 确认轮换;跳过 --current 前置条件(作为轮换审计)。在不验证先前值的情况下故意轮换时使用。 | 否 | - |
7. 存储管理
管理存储提供商和浏览远程文件
7.1 list
列出存储提供商
rdc storage list [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
-t, --team <name> | 团队名称 | 否 | - |
--search <text> | 在 {{field}} 中搜索 | 否 | - |
--sort <field> | 按字段排序 | 否 | - |
--desc | 降序排序 | 否 | - |
7.2 create
创建新的存储提供商
rdc storage create [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
7.3 rename
重命名存储提供商
rdc storage rename [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--current-name <name> | 当前资源名称 | 是 | - |
--new-name <name> | 新资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
7.4 delete
删除存储提供商
rdc storage delete [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-t, --team <name> | 团队名称 | 否 | - |
-f, --force | 跳过确认提示 | 否 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
7.5 vault
存储保险库管理 (仅限云适配器)
rdc storage vault
7.6 browse
浏览存储系统中的文件
rdc storage browse [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
--path <subpath> | 要列出的子目录路径 | 否 | “ |
7.7 prune
删除存储中不在任何配置中的孤立备份。多配置安全,带宽限期保护。
rdc storage prune [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 执行机器:对存储运行 rclone list/delete 调用。必需,因为客户端不应在本地安装 rclone;存储凭据仍来自你的本地配置。 | 是 | - |
--dry-run | 显示将执行的操作但不进行实际更改 | 否 | - |
--force | 跳过确认提示 | 否 | - |
--force-delete-mounted | 覆盖挂载安全检查,即使源 GUID 当前在执行机器上已挂载或有正在运行的容器,也删除云备份。与 --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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--name <name> | 资源名称 | 是 | - |
-m, --machine <name> | 机器名称 | 是 | - |
13. CLI 更新
检查并应用CLI更新
rdc update [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--force | 即使已是最新也强制更新 | 否 | - |
--check-only | 仅检查更新,不下载 | 否 | - |
--rollback | 回滚到上一个版本 | 否 | - |
--status | 显示自动更新状态和诊断信息 | 否 | - |
--channel <channel> | 设置发布渠道 (stable 或 edge) | 否 | - |
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 [options]
| 标志 | 描述 | 必填 | 默认值 |
|---|---|---|---|
--vm-id <id> | 虚拟机 ID | 是 | - |
-c, --command <cmd> | 执行命令而不是交互式 shell | 否 | - |
--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 <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 管道和自动化工作流中变得容易。