rsync はないが SCP ツールがあるサーバーに rsync する方法

rsync はないが SCP ツールがあるサーバーに rsync する方法

リモート サーバーは、rsync がインストールされていない FreeBSD のようなシステムです。

$ ssh [email protected] which rsync scp
Password:
rsync not found
/usr/local/bin/scp
$ rsync -a /ring/0/share/Archives_AudioVisuel/TEST [email protected]:/ifs/par-nas01/data/MPP/ADN_Archives/Audiovisuels/
Password:
zsh:1: command not found: rsync
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: remote command not found (code 127) at io.c(226) [sender=3.1.2]
$

追加しようとしましたが、という-e ssh同じエラーが表示されます。rsyncnot found

追加しようとするとエラーが--rsync-path=/usr/local/bin/scp発生しますscp: illegal option -- -

rsyncツールのみを備えたサーバーに を実行するにはどうすればよいですかscp?

答え1

リモートのFreeBSDマシンにソフトウェアをインストールできないが、ローカルのLinuxマシンにソフトウェアをインストールできる場合は、sshfs回避策として。

mkdir my_mountpoint
# The pathname (here just a slash) indicates the root of the mounted FS.
sshfs admin@remote_machine:/ $_

コマンドはコマンドsshfsを開始します/usr/libexec/sftp-serverリモコンでFreeBSDマシン、プリインストールバイナリです。これで、マウント ポイントをグローバル パス名名前空間にあるかのように使用できます。${_}シェル変数は、前のコマンドの最後の引数に展開されることを覚えておいてください。

rsync -a /ring/0/share/Archives_AudioVisuel/TEST \
    ${_}/ifs/par-nas01/data/MPP/ADN_Archives/Audiovisuels/

完了したら、fusermountユーティリティを使用して FUSE (ユーザー空間のファイルシステム) マウントをアンマウントします。

fusermount -u my_mountpoint

この方法では満杯ただし、rsync の効率的な Δ コピー アルゴリズムを使用します。ビデオ アーカイブを同期する場合、これはそれほど重要ではないと思います。

関連情報