ssh别名和多服务器同步文件
设置ssh别名
- 在 ~ 下创建文件夹 .ssh
- 在 .ssh 文件夹中创建文件 config
- 在 config 文件中,书写如下配置
s01:别名
HostName:另一个服务器地址
User:以什么身份登录
(还有其他的配置,请自行查询)
Host s01HostName 172.16.24.4User root
- 使用:ssh s01 就可以连接远端服务器了
多服务器同步文件
- 在所有节点服务器上安装yum install rsync -y
- 在 /usr/local/bin 文件夹中创建文件 xsync
- 在xsync中书写如下配置,注意修改循环位置的别名
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
thenecho Not Enough Arguement!exit;
fi#2. 遍历集群所有机器
# 也可以采用:
# for host in hadoop{102..104};
for host in hadoop102 hadoop103 hadoop104
doecho ==================== $host ====================#3. 遍历所有目录,挨个发送for file in $@do#4 判断文件是否存在if [ -e $file ]then#5. 获取父目录pdir=$(cd -P $(dirname $file); pwd)echo pdir=$pdir#6. 获取当前文件的名称fname=$(basename $file)echo fname=$fname#7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)ssh $host "mkdir -p $pdir"#8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下rsync -av $pdir/$fname $USER@$host:$pdirelseecho $file does not exists!fidone
done
- 修改xsync文件的权限 chmod 777 xsync
配置免密登录(ssh别名登录也如此)
- 生成秘钥对 ssh-keygen -t rsa
- 然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
- 使用rsa算法生成秘钥对
- 生成的秘钥对在用户家目录下: /home/user/.ssh
- 将公钥拷贝到要免密登录的目标机器上
$ ssh-copy-id s02
参考链接
https://blog.csdn.net/select_alter_drop/article/details/100131943
https://www.cnblogs.com/0or1/p/10363977.html
https://blog.csdn.net/kl28978113/article/details/78508365