Чому rsync не знайдено?


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

Якби я зробив ssh на hpux3 machine

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файлі?


rsyncКоманда повинна бути присутнім на вашій локальній машині.
ott--

1
Звичайно, присутній в обох машинах
elbarna

Відповіді:


26

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

Якщо ваша оболонка для входу є bash, то вона ~/.bashrcможе бути прочитана (це химерність bash - ~/.bashrcчитається інтерактивними оболонками, які не входять у систему, а в деяких випадках неінтерактивними оболонками для входу). Це не стосується всіх версій bash.

Найпростіший спосіб зробити --rsync-pathфункцію rsync - це, мабуть, пропустити варіант, наприклад

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

@Gilles "ТАК - перестань бути злим" Будь-яка ідея, чому я повинен це робити? Bash не є моєю оболонкою за замовчуванням. Ksh - моя оболонка за замовчуванням. Я входжу з ksh, тоді переключаюсь на bash.
кокеду

@cokedude Якщо rsync встановлений у вашому обліковому записі, а не на системному рівні, ви повинні зробити певну конфігурацію свого облікового запису, щоб мати можливість ним користуватися. Недостатньо rsyncкудись покласти бінарне: також потрібно домовитись, щоб його можна було знайти.
Жиль "ТАК - перестань бути злим"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.