Как выполнить rsync на сервере, на котором нет rsync, но есть инструмент SCP

Как выполнить rsync на сервере, на котором нет rsync, но есть инструмент SCP

Удаленный сервер представляет собой систему типа 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инструмент?

решение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,предварительно установленныйдвоичный. Теперь вы можете использовать точку монтирования, как если бы она находилась в глобальном пространстве имен pathname. Помните, что ${_}переменная оболочки расширяется до последнего аргумента предыдущей команды.

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

После завершения работы отмонтируйте FUSE (файловую систему в пространстве пользователя) с помощью fusermountутилиты.

fusermount -u my_mountpoint

Боюсь, этот метод не поможет.полныйХотя использование эффективных алгоритмов Δ‑копирования rsync. Если вы синхронизируете видеоархивы, это не должно быть слишком критично, я полагаю.

Связанный контент