远程服务器是一个类似 FreeBSD 的系统,未安装 rsync:
$ 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
?
如果您无法在远程 FreeBSD 计算机上安装软件,但可以在本地 Linux 计算机上安装软件,您可以使用
sshfs
以下解决方法。该命令在远程
sshfs
FreeBSD 计算机上启动该/usr/libexec/sftp-server
命令,这是一个预安装的二进制文件。现在您可以使用挂载点,就好像它位于全局路径名命名空间中一样。请记住,shell 变量扩展为前一个命令的最后一个参数。${_}
完成后,使用该
fusermount
实用程序卸载 FUSE(用户空间中的文件系统)挂载。但恐怕这种方法无法充分利用 rsync 的高效 Δ 复制算法。如果您要同步视频档案,我想这应该不是太重要。