Relayium vs rsync: SSH 設定なしでフォルダーを同期
最終更新: 2026-07-12
rsync が 1996 年からフォルダーをミラーリングしてきたのには理由があります。双方向の同期、ローリングチェックサムでファイル内部の変化したバイトだけを転送する差分アルゴリズム、そしてあらゆるケースに対応する数十年分のフラグです。すでに SSH アクセスがあり rsync を知っているなら、これを上回るのは非常に困難です。
Relayium の sync コマンドはもっと狭い範囲、つまり一方向の増分ミラーだけをカバーしますが、rsync が前提とする一つのステップ、SSH のセットアップを省きます。すでにある SSH の上で動かすこともできますし、SSH サーバーなしで2台のマシンを直接つなぐこともできます。本記事はこの2つを正直に比較します。sync は rsync の完全な代替ではなく、FAQ でもそれをはっきり述べます。
rsync が優れている点
rsync は双方向で、どちらの側もソースになれます。そして差分転送アルゴリズムはローリングチェックサムでファイルのブロックを比較するため、巨大なファイルへの小さな編集でも、変化したブロックだけを送り、ファイル全体を再送しません。それに加えて数十年分のフラグ(--exclude、ハードリンクスナップショット用の --link-dest、圧縮、帯域制限など)が、多くの用途に適した道具にしています。
また、どこにでもあります。ほとんどの Linux と macOS には標準で入っており、すでに設定済みであろう SSH 接続の上で動きます。これらはどれも Relayium sync が置き換えようとしているものではありません。
始める前に
以下はすべて relayium CLI なので、未インストールならまず入れてください。macOS または Linux では、1つのコマンドでビルド済みバイナリが PATH に入ります:
curl -fsSL https://relayium.com/install.sh | sh
- 自分でファイルを選びたい、または Windows の場合は、リリースページからバイナリを取得してください——relayium.com/cli にすべてのインストール方法があります(Go があれば go build -o relayium ./cmd/relayium も可)。
- relayium --version でインストールを確認できます。これをしないと以下のコマンドは「command not found」と出るだけです。
Relayium sync のやり方
relayium sync <ソース...> <宛先> [--delete] [--watch] は一方向の増分ミラーです。各ファイルのサイズと更新時刻を比較し、すでに一致するものはスキップし、残りを送ります。
2つの転送方式で動きます。user@host:/dest を指定すると SSH 経由で動きますが、リモートにあらかじめ relayium がインストールされている必要があります。push と違い、sync に tar フォールバックはありません。代わりに relayium://host[:port] を指定すると SSH を完全に省けます。証明書ピンニング付きの TLS 1.3 接続で、相手のマシンで動く relayium serve リスナーに直接つながり、そのマシンのフィンガープリントで認証されます(一度承認すれば以後は記憶されます)。この2つ目の経路こそが本当の利点です。sshd の設定も SSH 鍵の管理も不要で、relayium がインストールされた2台のマシンと、間で開いたポートさえあればよいのです。
relayium sync ./photos user@host:/backup/photos # SSH 経由
relayium sync ./photos relayium://203.0.113.9:9031 # デーモン直結、SSH 不要
削除と継続的な同期
既定では sync は追加と更新だけを行い、自分から何かを削除することはありません。削除もミラーするには --delete を渡しますが、受信側は明示的に許可する必要があります。relayium serve --allow-delete で動いていなければなりません。そうでなければ削除要求は拒否され、黙って無視されるのではなく送信側に報告されます。
継続的に変化するフォルダーには、--watch を付けると sync は最初のパスの後も動き続け、ソース配下でファイルが変化するたびに再ミラーします。これに相当する機能は rsync には組み込まれておらず、通常は cron ジョブや lsyncd のようなラッパーに頼ることになります。
relayium serve --dir /backup --port 9031 --allow-delete
relayium sync ./photos relayium://203.0.113.9:9031 --delete --watch
整合性、再開、そして正直な限界
各ファイルは SHA-256 ハッシュでエンドツーエンドに検証され、途中で切れた転送はディスク上にすでにあるバイトオフセットから再開します。やり直しはしません。rsync の再開と同じ理由で役に立ちます。
再開が何でないかをはっきりさせておきます。rsync の差分アルゴリズムではありません。ファイルがすでに完全に存在していても、サイズやタイムスタンプが異なれば、sync は内部の変化したブロックを差分比較するのではなく、ファイル全体を再送します。頻繁に少しずつ変化する巨大な1ファイルについては、rsync の差分転送の方が転送量は少なくなります。sync が扱うのも通常ファイルだけです。シンボリックリンクと特殊ファイルはスキップされるので、それらに依存する場合は別途対応が必要です。
rsync がまだ優れているとき
双方向の同期が必要なとき、すでに SSH が設定済みで別のデーモンを動かしたくないとき、きめ細かい制御(除外、フィルター、ハードリンクスナップショット、帯域制限、圧縮)が必要なとき、あるいは1つのファイルが頻繁に少しずつ変化して差分転送が実質的に帯域を節約するときは、rsync を選んでください。Relayium sync はそのどれもカバーしようとしていません。
- 一方向のみ:sync がミラーするのはソース→宛先だけです。rsync はどちらの方向にも動きます。
- 差分転送なし:sync は変化したファイルを丸ごと再送します。rsync のローリングチェックサムは変化したブロックだけを送ります。
- オプションが少ない:rsync にはフィルタリング、圧縮、スナップショットのための数十年分のフラグがあります。sync にあるのは --delete と --watch だけです。
- Relayium sync が勝る点:SSH サーバー不要(デーモン直結)、フィンガープリント認証を伴う証明書ピンニング付き TLS、--watch によるリアルタイム再同期、そしてどの転送モードも無料で、sync 自体にアカウントは一切不要です。
よくある質問
sync は rsync の完全な代替になりますか?
なりません。一方向のミラーしか行わず、rsync のようなブロック単位の差分アルゴリズムもありません。サイズやタイムスタンプが変わったファイルは丸ごと再送され、フラグの数も rsync よりずっと少ないです。双方向の同期やきめ細かいフィルター制御が必要な場合、あるいは rsync の成熟したエコシステムに頼りたい場合は、rsync の方が今も優れた道具です。
sync に SSH サーバーは必要ですか?
いいえ。デーモン直結(relayium://host:port)は SSH を完全に省きます。証明書ピンニング付きの TLS 接続で、受信側のフィンガープリントによって認証され、一度承認すれば以後は記憶されます。SSH 経由(user@host:path)を選ぶこともできますが、リモートに relayium がインストールされている必要があり、push と違って sync に tar フォールバックはありません。
sync はソース側で削除したファイルを削除しますか?
--delete を渡し、かつ受信側の serve が --allow-delete で起動されている場合だけです。そうでなければ削除要求は拒否され、黙って無視されるのではなく送信側に報告されます。
リアルタイムで継続的に同期できますか?
できます。--watch を付けてください。最初のミラーが終わった後も sync は動き続け、ソース配下でファイルが変化するたびに(デバウンスしつつ)再ミラーします。
これは無料ですか?
はい。Relayium CLI は完全に無料です。sync、push/pull、デーモン直結にアカウントは不要です。send はサーバーがペアリングコードを発行するために、クラウドの up はファイルを保存するためにアカウントが必要です。
自分の2台のマシンの間でフォルダーをミラーリングしましょう。SSH サーバーは不要です。
CLI を入手する