Почему rsync не найден?

16
rsync -avP /home/user/.profile hpux3:/home/user/.profile
bash: rsync: command not found

Если бы я сделал SSH к машине hpux3

rsync  
version 3.1.1  protocol version 31
Copyright (C) 1996-2014 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
output truncated

Я поставил PATHв $HOME/.profileи $HOME/.bashrc. Должен ли я установить его в /etc/profileфайле?

elbarna
источник
Команда rsyncдолжна присутствовать на вашем локальном компьютере.
ot--
1
Конечно присутствует в обеих машинах
elbarna

Ответы:

26

Ваш .profileчитается только когда вы входите в систему в интерактивном режиме. Когда rsync подключается к другому компьютеру для выполнения команды, /etc/profileа ~/.profileне для чтения.

Если ваша оболочка входа в систему bash, то ~/.bashrcможет быть прочитана (это причуда bash - ~/.bashrcчитается неинтерактивными оболочками, не входящими в систему, а в некоторых случаях неинтерактивными оболочками при входе). Это относится не ко всем версиям bash.

Самый простой способ заставить Rsync работать, это, вероятно, передать --rsync-pathпараметр, например

rsync --rsync-path=/home/elbarna/bin/rsync -avP /home/user/.profile hpux3:/home/user/.profile

Если вы входите через SSH с аутентификацией на основе ключей, вы можете установить PATHпеременную среды через ваш ~/.ssh/authorized_keys. Посмотрите файлы запуска sh через ssh для объяснения того, как организовать загрузку .profileпри входе через SSH с ключом.

Жиль "ТАК - перестань быть злым"
источник
7
Примечание: --rsync-pathиспользуется для установки пути rsyncна удаленном компьютере. (с первого взгляда мне было интересно, как можно было указать путь rsyncпри запуске rsyncна той же машине)
AL
@ Жиль "ТАК - перестань быть злым" Есть идеи, почему я должен это делать? Bash не моя оболочка по умолчанию. Ksh - моя оболочка по умолчанию. Я авторизируюсь с помощью ksh, затем переключаюсь на bash.
cokedude
@cokedude Если rsync установлен на вашей учетной записи, а не на системном уровне, вы должны выполнить некоторые настройки в своей учетной записи, чтобы иметь возможность использовать его. Недостаточно поместить rsyncкуда-нибудь двоичный файл: вам также нужно организовать его поиск.
Жиль "ТАК - перестань быть злым"