scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system时,用scp可以帮你把文件移出来。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用
先在2台机器上配置ssh,能使用ssh登陆,跳转
例如机器qa1往q2上发送文件,都是qa用户
在qa1上生成公钥和私钥
ssh-keygen -t rsa
查看qa1的公钥
cat ~/.ssh/id_rsa.pub
将qa1的公钥放到qa2的如下文件
~/.ssh/authorized_keys
此时在qa1上执行
ssh qa@qa2
能跳转到qa2服务器,ssh配置成功
scp命令格式如下:
scp -r 源目录 用户名@ip:目标目录
-r参数的作用是递归复制源目录,及复制目录下的子目录和文件
如吧qa1服务器app目录下的文件发送到qa2服务器app目录下
scp -r ~/app hadoop@hadoop001:~/
scp -r ~/app hadoop@hadoop002:~/
如将hadoop1的环境变量分发到haddop2
scp ~/.bash_profile hadoop@hadoop001:~/
scp ~/.bash_profile hadoop@hadoop002:~/
搭建集群的时候用scp命令非常方便,学会了吗?