# 集群配置分发
# 1. SSH 免密登录
# 需求:实现 big002、big003、big004 三台主机之前相互免密登录

- 使用 leichu 账号登录 big002
- 进入
~/.ssh目录 - 执行命令:
ssh-keygen -t rsa,连续三次回车,当前目录下回生成2个文件:id_rsa和id_rsa.pub - 执行命令:
ssh-copy-id big002,将公钥文件id_rsa.pub拷贝到主机 big002 - 执行命令:
ssh-copy-id big003,将公钥文件id_rsa.pub拷贝到主机 big003 - 执行命令:
ssh-copy-id big004,将公钥文件id_rsa.pub拷贝到主机 big004
- 此时,从主机 big002 的 leichu 账户免密登录到 big003 和 big004 已经配置完成。
- 然后,在 主机 big003 和 big004 上进行相同的操作.
- 最后,在三台主机上,切换到 root 用户,分别再进行一次相同的操作。
- 这样,三台主机之间的 可以使用 root 账户 和 leichu 账号 进行免密登录了。
# 2. scp 命令
### 在主机 big001上:将 big001 主机上的 /test 目录 拷贝到 big004 的 /test 目录 (推送)
[leichu@big001 ~]$ scp -r test leichu@big004:~/test 100% 8 8.7KB/s 00:00
### 在主机 big004 上:将 big001 主机上的 /test 目录 拷贝到 big004 的 /test 目录(拉取)
[leichu@big004 ~]$ scp -r leichu@big001:test ./
### 在主机 big003 上:将 big001 主机上的 /test 目录 拷贝到 big004 的 /test 目录(第三者)
[leichu@big003 ~]$ scp -r leichu@big001:~/test leichu@big004:~/test
leichu@big001's password:
leichu@big004's password:
wx.txt 100% 79 71.3KB/s 00:00
part-r-00000 100% 48 45.0KB/s 00:00
.part-r-00000.crc 100% 12 14.2KB/s 00:00
_SUCCESS 100% 0 0.0KB/s 00:00
._SUCCESS.crc 100% 8 10.2KB/s 00:00
Connection to big001 closed.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 3. 自定义命令:xsync
- 新建
/usr/local/bin/xsync文件,内容如下 - 赋予可执行权限
chmod +x /usr/local/bin/xsync
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=2; host<5; host++)); do
echo ------------------- big00$host --------------
rsync -rvl $pdir/$fname $user@big00$host:$pdir
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25