Dlaczego nie znaleziono rsync?

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

Gdybym zrobił ssh na maszynie 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

Mam ustawiony PATHw $HOME/.profilei $HOME/.bashrc. Czy powinienem to ustawić w /etc/profilepliku?

Elbarna
źródło
rsyncPolecenie musi być obecny na lokalnym komputerze.
ott--
1
Oczywiście jest obecny na obu maszynach
elbarna

Odpowiedzi:

26

Twój .profilejest czytany tylko wtedy, gdy logujesz się interaktywnie. Gdy rsync łączy się z innym komputerem, aby wykonać polecenie /etc/profilei ~/.profilenie są odczytywane.

Jeśli twoja powłoka logowania to bash, ~/.bashrcmożesz ją odczytać (to dziwactwo bash - ~/.bashrcjest odczytywane przez interaktywne powłoki niezalogowane, a w niektórych przypadkach przez powłoki nieinteraktywne). Nie dotyczy to jednak wszystkich wersji bash.

Najprostszym sposobem na uruchomienie rsync jest prawdopodobnie przekazanie --rsync-pathopcji, np

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

Jeśli logujesz się przez SSH przy użyciu uwierzytelniania opartego na kluczach, możesz ustawić PATHzmienną środowiskową za pomocą swojego ~/.ssh/authorized_keys. Zobacz pliki startowe sh przez ssh, aby uzyskać wyjaśnienia dotyczące sposobu ładowania .profilepodczas logowania przez SSH za pomocą klucza.

Gilles „SO- przestań być zły”
źródło
7
Uwaga: --rsync-pathsłuży do ustawienia ścieżki rsyncna komputerze zdalnym . (na pierwszy rzut oka zastanawiałem się, jak to było możliwe, aby określić ścieżkę rsyncpodczas lauching rsyncna tej samej maszynie)
AL
@Gilles „SO- przestań być zły” Masz pojęcie, dlaczego muszę to zrobić? Bash nie jest moją domyślną powłoką. Ksh jest moją domyślną powłoką. Loguję się za pomocą ksh, a następnie przełączam się na bash.
Cokedude
@cokedude Jeśli rsync jest zainstalowany na Twoim koncie, a nie na poziomie systemu, musisz wykonać konfigurację na swoim koncie, aby móc z niego korzystać. Nie wystarczy rsyncgdzieś umieścić plik binarny: musisz także zorganizować jego odnalezienie.
Gilles 'SO - przestań być zły'