
リモート サーバーは、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
同じエラーが表示されます。rsync
not 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 の効率的な Δ コピー アルゴリズムを使用します。ビデオ アーカイブを同期する場合、これはそれほど重要ではないと思います。