最近更新: 2026-07-09
需要你记得手动运行的备份,常常就不会发生。cron 会记得,而 Relayium CLI 正是为此而生:一条非交互式命令,把目录复制(或镜像)到另一台机器,校验每一个文件,并且在网络中断时从断点继续。
本文介绍如何用 cron 定时运行 relayium push 和增量的 relayium sync、两者都能使用的两种传输方式,以及可以直接复制使用的 crontab 行。
push 和 sync 都能把一个目录传送到另一台机器,也都可以放心地反复运行,但它们解决的备份问题略有不同。
每次运行 push 都会通过 SSH 或 daemon-direct 发送一份完整拷贝——简单直接,即使远端服务器没装 relayium,也能靠 tar 兜底方案工作。sync 则把目标目录维护成源目录的增量单向镜像:只重新发送发生变化的文件,所以对一个大目录做第一次同步之后,后续的夜间同步会很快。sync 始终需要两端都用 relayium 的原生协议——它没有 tar 兜底方案。
两个命令都可以指向一个 SSH 目标(scp 风格,使用你的 ~/.ssh/config),也可以在对方机器运行着 relayium serve 时,直接通过 daemon-direct 协议连接过去——不需要 SSH。
# SSH destination — uses your existing SSH keys and config
relayium push ./data user@backup-server:/srv/backups/
# daemon-direct — the destination runs "relayium serve", no SSH required
relayium push ./data relayium://backup-server:9031
push 和 sync 都是单条非交互式命令,可以直接放进 crontab。给它指定一个没有口令的密钥(或者用 agent),并把输出记录下来以便查看失败:
# full copy every night at 2am — add to your crontab (crontab -e)
0 2 * * * relayium push -i ~/.ssh/backup_key ~/documents user@backup-server:/srv/backups/ >> ~/relayium-backup.log 2>&1
# incremental mirror every 15 minutes instead
*/15 * * * * relayium sync -i ~/.ssh/backup_key ~/documents user@backup-server:/srv/backups/ >> ~/relayium-sync.log 2>&1
默认情况下,sync 只会在目标端新增或更新文件。加上 --delete 就会变成真正的镜像,把源目录中已经不存在的文件也从目标端删除——接收端必须显式以 serve --allow-delete 方式监听,否则这些删除操作会被静默跳过,并在结果里报告为被拒绝。如果源目录解析不到任何文件,sync 也会直接拒绝执行 --delete,这样源路径写错也不会清空目标目录。
如果不想等 cron 的下一个执行时间点,--watch 会让 relayium sync 持续运行,一旦源目录下有文件变化,就会在片刻之后自动重新同步——是按计划轮询之外的一种轻量替代方案。
要看命令。push 不管远端有没有装都能用:装了 relayium 就用原生协议(断点续传 + 每个文件 SHA-256 校验);没装的话,push 会退回到通过 SSH 传输 tar 流,一台裸服务器也能用。sync 则始终需要远端有 relayium 的原生协议——sync 没有 tar 兜底方案,请先在远端装好它。
会。每个文件都会做端到端的 SHA-256 校验,而通过 SSH 或 daemon-direct 推送时,字节已经受该连接自身的加密保护——不需要额外配置。
只要两端都有 relayium,下一次计划运行就会续传未完成的文件,而不是重新发送全部内容。如果你想放弃续传、做一次干净的完整重发,加上 --no-resume 即可。
如果源目录里没有任何文件,sync 会直接拒绝执行 --delete;而且接收端必须以 serve --allow-delete 方式启动,删除操作才会真正生效——否则会被跳过,并把结果报告给你。
不需要。CLI 完全免费,push、pull、sync 都不需要账号——传输走的是你自己的 SSH 连接或直接的 daemon 连接,不经过 Relayium 的服务器。
把备份放进一个你不用记得的日程里——加密传输、支持断点续传,而且免费。
获取 CLI