为什么找不到rsync?


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

如果我对hpux3机器执行了ssh

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 2015年

Answers:


26

.profile当你登录交互是只读的。当rsync的连接到另一台机器来执行命令,/etc/profile~/.profile不是阅读。

如果您的登录Shell是bash,则~/.bashrc可能会被读取(这是bash的怪癖- ~/.bashrc由非登录交互式Shell读取,在某些情况下由登录非交互式Shell读取)。但是,这并不适用于所有版本的bash。

使rsync工作最简单的方法可能是传递该--rsync-path选项,例如

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

如果您使用基于密钥的身份验证通过SSH登录,则可以PATH通过设置环境变量~/.ssh/authorized_keys。有关使用密钥通过SSH登录时如何安排加载的说明,请参见ssh上的sh启动文件.profile


7
注意:--rsync-path用于设置远程计算机rsync上的路径。(乍一看,我想知道在同一台计算机上启动时如何指定路径)rsyncrsync
AL

@吉尔斯'SO-别再作恶'知道我为什么要这么做吗?Bash不是我的默认外壳。Ksh是我的默认Shell。我用ksh登录,然后切换到bash。
cokedude

@cokedude如果在您的帐户上而非系统级别上安装了rsync,则必须在帐户上进行一些配置才能使用它。将rsync二进制文件放在某个地方还不够:您还需要安排它的位置。
吉尔(Gilles)'所以
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.