web-dev-qa-db-ja.com

より効率的な方法:sshを介したrsyncまたはsshトンネルを介してローカルにマウントされたドライブへのrsync

リモートドライブへの夜間バックアップを実行するために、いくつかのスクリプトを設定しようとしています。 (効率とデータの整合性の両方を考慮する場合)次の方が良いかどうか疑問に思います。

A:sshトンネルを介したrsync、または

B:ExpanDrive( http://www.expandrive.com/ )などのプログラムを使用してsshトンネルを介してドライブをローカルにマウントしてから、ローカルマウントポイントを介してドライブにrsyncします。

バックアップは1日1回ですが、他の用途のためにほとんどの場合ドライブを接続します。

助け/提案をありがとう。

6
KidAsComputer

Sshを介したIMHOrsyncの方が優れていますが、反対側でrsyncデーモンを起動し、安全なVPN(openvpn、pptp)経由でアクセスすることをお勧めします。 SSH暗号化はCPU使用率に問題があり、転送されるサイズによっては苦痛な経験になる可能性がありますが、デーモンモードのrsyncには暗号化がなく、最速のソリューションです。 rsyncd(デーモンモードのrsync)は暗号化を採用しておらず、認証は非常に制限されていることに注意してください。

1
mspasov

RSyncオプションは[〜#〜] far [〜#〜]より良くなります。

RSyncがSSH経由で実行されている場合、ファイル比較を行うときに実際には両方のシステムのプロセッサを使用します。

基本的に、rsyncは両方デバイスで実行され(文字通り、rsyncはsshを使用してリモートデバイスに接続し、リモートデバイスでrsyncバイナリファイルを実行し、実行中の2つの実行可能ファイルがsshパイプを介して相互作用します)。 ファイル全体をパイプ経由で転送するのではなく、2つのシステムでファイルハッシュを交換して比較するファイルリモートシステムをローカルドライブとしてマウントしている場合に実行する必要があります。

これは明らかに速度に大きな制約がある場合にのみ利点ですが、ほとんどのリモートバックアップには利点があります。

また、転送時にSSH圧縮ファイルを介して実行する場合はrsyncを実行して、転送時間を短縮します。 ExpanDriveが圧縮を行うとは思いませんが、圧縮したとしても、2つのシステム間でファイルを比較すると大幅に失われます。

ローカルバックアップとネットワーク経由のバックアップを実行する場合、RSyncの動作モードは根本的に異なります。ローカルで作業する場合、ファイル比較のためのハッシュを気にせず、ファイル圧縮も行いません。


Rsyncをデーモンとして実行することは、複数のクライアントが同じデバイスにバックアップしている場合、またはデバイスのCPUに大きな制約がある場合(組み込みNASなど)にのみ実際に役立ちます。基本的には、SSHのオーバーヘッドを回避でき、各デバイスにSSHアカウントを持たせる必要があります。

11
Fake Name