サーバー間でデータを移す2つの方法
一方のサーバーからもう一方に直接接続する方法と、手元のコンピューターで両者の間のデータを中継する方法があります。直接接続の方が通常は高速ですが、転送元から転送先へのネットワークアクセスと、転送先の認証情報が必要になり、その情報をサーバーに残したくない場合もあります。中継方式では、どちらも必要ありません。認証情報を保持するのは手元のコンピューターだけで、サーバー同士が接続できる必要もありません。その代わり、すべてのデータが手元の接続を通ります。
コマンドラインで中継する
scpの-3オプションは、ローカルコンピューターを経由して2台のリモートホスト間でコピーします。単発のコピーには便利ですが、キューはなく、転送が途切れた場合は自分で再実行する必要があります。
scp -3 admin@source.example:/srv/data/archive.tar.gz admin@target.example:/srv/data/コピー結果を検証する
転送元のデータを削除する前に、両方のサーバーでチェックサムを比較してください。SHA-256の値が一致すれば、ファイルが破損せずに届いたことを確認できます。ファイルサイズが同じというだけでは、その証明にはなりません。
ssh admin@source.example sha256sum /srv/data/archive.tar.gz
ssh admin@target.example sha256sum /srv/data/archive.tar.gz競合時の処理を事前に決める
大規模な転送の前に、転送先にファイルがすでに存在する場合の処理を決めます。上書きするか、両方を残すか、スキップするかを選んでください。転送先の空き容量と転送先ディレクトリの権限も確認します。一般ユーザーとしてコピーするとファイルの所有者は保持されないため、アプリケーションの復元後に所有者の修正が必要になる場合があります。
CH-J Server Managerの2つのパネル
Alpha 0.1.1のFile Managerは1~3個のパネルを持ち、それぞれにローカルディスクまたは開いている任意のSSHセッションを表示できます。キーボード、ドラッグ、コンテキストメニューでパネル間のファイルをコピーまたは移動できます。データは手元のコンピューターのディスクに保存されず、そのコンピューターを経由して一方のSFTPセッションからもう一方へストリーミングされます。転送にはキューが使われ、一時停止、再開、キャンセル、競合処理に対応しています。移動時に転送元のファイルが削除されるのは、SHA-256が一致した後で、かつそのファイルが変更されていない場合だけです。
把握しておきたい制限
直接転送ではないため、速度は手元から両方のサーバーへの接続に左右され、コンピューターは接続を維持する必要があります。sudoでしか読み取れないファイルは、この方法でサーバー間コピーできません。Beta 0.1.0には複数パネルのFile Managerは含まれていません。