为什么找不到rsync?

为什么找不到rsync?
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文件中吗?

答案1

.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 的 sh 启动文件有关如何.profile在使用密钥通过 SSH 登录时安排加载的说明。

答案2

如果远程端未安装 rsync,则尝试将文件和目录从远程计算机同步到本地系统时也可能会发生此错误。

rsync -zarvh [email protected]:/var/www/html/release /var/www/html/release
bash: rsync: command not found

在远程端安装 rsync 将解决这种情况

相关内容