说明:
从一台服务器scp传文件到另一台服务器时,发生如下错误:
# scp mysql-5.1.55.tar.gz root@192.168.3.22:. root@192.168.3.22's password: bash: scp: command not found lost connection
提示scp的命令找不到,是没有安装scp工具嘛
实现:
1. 查找发现命令是存在的
# whereis scp scp: /usr/bin/scp /usr/share/man/man1/scp.1.gz # find / -name scp /usr/bin/scp
2. 是因为没有加入到环境变量的原因?
# echo $PATH //evn查看,已经加入了环境变量了 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin # /usr/bin/scp mysql-5.1.55.tar.gz root@192.168.3.22:. //即使scp带上全路径,执行的时候还是报相同的错误 root@192.168.3.22's password: bash: scp: command not found lost connection
3. 查看scp所依赖的包
# rpm -qf /usr/bin/scp openssh-clients-5.3p1-81.el6.i686
怀疑会不会是有其他的依赖包没有安装上,重新安装一遍
# yum install openssh-clients* Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: centos.ustc.edu.cn * epel: mirrors.ustc.edu.cn * extras: centos.ustc.edu.cn * updates: centos.ustc.edu.cn Setting up Install Process Package openssh-clients-5.3p1-81.el6.i686 already installed and latest version Nothing to do
提示已经安装了,而且已经是最新的版本了
4.再测试的时候,还是出现同样的错误。如果是命令不存在或者找不到,应该在scp命令敲出来之前就有问题啊,而不应该是成功敲完命令之后再出现这个问题。如果本地没有问题,那会不会是对端服务器上没有scp?
# whereis scp //在对端服务器查找scp scp:
果真是如此,所以是server端没有找到scp的命令,而不是本地
# yum install openssh-clients* //安装好之后,重新传输文件 # scp mysql-5.1.55.tar.gz root@192.168.3.22:. root@192.168.3.22's password: mysql-5.1.55.tar.gz 100% 23MB 4.5MB/s 00:05