Warum wurde rsync nicht gefunden?

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

Wenn ich ssh auf hpux3 mache

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

Ich habe PATHin $HOME/.profileund gesetzt $HOME/.bashrc. Soll ich es in der /etc/profileDatei einstellen ?

Elbarna
quelle
Der rsyncBefehl muss auf Ihrem lokalen Computer vorhanden sein.
ott--
1
Natürlich ist in beiden Maschinen vorhanden
Elbarna

Antworten:

26

Sie .profilewerden nur gelesen, wenn Sie sich interaktiv anmelden. Wenn rsync eine Verbindung zu einem anderen Computer herstellt, um einen Befehl auszuführen, /etc/profileund ~/.profilenicht gelesen wird.

Handelt es sich bei Ihrer Anmeldeshell um eine Bash-Shell, ~/.bashrckann dies gelesen werden (dies ist eine Eigenheit der Bash- Shell - ~/.bashrcwird von nicht angemeldeten interaktiven Shells und unter bestimmten Umständen von angemeldeten nicht interaktiven Shells gelesen). Dies gilt jedoch nicht für alle Versionen von bash.

Der einfachste Weg, um rsync zum Laufen zu bringen, ist wahrscheinlich das Übergeben der --rsync-pathOption, z

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

Wenn Sie sich über SSH mit einer schlüsselbasierten Authentifizierung anmelden, können Sie die PATHUmgebungsvariable über Ihre festlegen ~/.ssh/authorized_keys. In sh-Startdateien über ssh finden Sie Erklärungen, wie das Laden .profilebeim Anmelden über SSH mit einem Schlüssel angeordnet wird.

Gilles 'SO - hör auf böse zu sein'
quelle
7
Hinweis: --rsync-pathDient zum Festlegen des Pfads rsyncauf dem Remotecomputer . (Auf den ersten Blick fragte ich mich, wie es möglich war, den Pfad anzugeben, rsyncwährend ich rsyncauf derselben Maschine startete)
AL
@Gilles 'SO- hör auf böse zu sein' Hast du eine Idee, warum ich das tun muss? Bash ist nicht meine Standardshell. Ksh ist meine Standard-Shell. Ich logge mich mit ksh ein und wechsle dann zu bash.
Koksud
@cokedude Wenn rsync nicht auf Systemebene, sondern auf Ihrem Konto installiert ist, müssen Sie einige Konfigurationsschritte in Ihrem Konto ausführen, um es verwenden zu können. Es reicht nicht aus, die rsyncBinärdatei irgendwo abzulegen: Sie müssen auch dafür sorgen, dass sie gefunden wird.
Gilles 'SO - hör auf böse zu sein'