网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
在 **`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=130;host<133;host++)); do
echo ------------------- ulanhada$host --------------
rsync -rvl
p
d
i
r
/
pdir/
pdir/fname
u
s
e
r
@
u
l
a
n
h
a
d
a
user@ulanhada
user@ulanhadahost:$pdir
done
**其中的 ulanhada 是我起的名字,与 `hosts` 中配置的 ulanhada 一样,可自定义,但两者必须匹配,大家根据实际情况修改~**
## 四、赋权
chmod 777 xsync
## 五、安装Rsync
**需要给每台远程目标服务器下载 `rsync`,包括本机。如果都已安装,则跳过该步骤~**
sudo yum -y install rsync
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1cba7f9f9d0b4e119f83eec032b4dc59.png)
## 六、验证一
使用 **xsync +需要分发的文件名(文件夹也可以)** 进行分发
语法:xsync [文件名/文件夹名]
xsync a.txt
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/d9954a29c7b24672b004ebb61a296b57.png)
由上图可见,需要 **输入各个服务器的密码** 。
如果打算省略输入密码的步骤,请看 **步骤七** 。
如果需要输入密码,则跳过步骤七。
## 七、配置免密登录
### 1、生成rsa密钥
使用命令 **`ssh-keygen`** 生成 **`rsa`密钥**。配置信息直接回车即可, **生成的密钥默认在当前用户主目录的 `.ssh`** 目录下。
📣**密钥文件有两个:**
**id\_rsa:** 存放着私钥
**id\_rsa.pub:** 存放着公钥
ssh-keygen
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/e9570eebacc146fc9986a1f7d3933f67.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/1c778a7ec8cb416690f16bfca43c63ff.png)
### 2、copy机器自身公钥到目标机器
**在各个远程目标机器的用户主目录创建 `.ssh` 目录**
mkdir -p ~/.ssh
在本地执行远程拷贝命令
cd /home/ulanhada/.ssh
语法:scp [本地文件的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件的绝对路径]
scp id_rsa.pub ulanhada@ulanhada130:/home/ulanhada/.ssh/authorized_keys
scp id_rsa.pub ulanhada@ulanhada131:/home/ulanhada/.ssh/authorized_keys
scp id_rsa.pub ulanhada@ulanhada132:/home/ulanhada/.ssh/authorized_keys
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8704e8472e9f490a91161db4ea3f1c91.png)
📣**拓展:**
递归复制整个目录
语法:scp -r [本地文件夹的绝对路径] [服务器用户名]@[主机名/主机IP]:[远程文件夹的绝对路径]
### 3、.ssh/文件目录赋权
**在各个目标服务器分别给 `.ssh` 文件夹赋权限**
chmod 700 .ssh/
### 最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
### 资料预览
给大家整理的视频资料:
![](https://img-blog.csdnimg.cn/img_convert/c9ab6eaf107c0548a366052ee9e2b638.png)
给大家整理的电子书资料:
![](https://img-blog.csdnimg.cn/img_convert/a74c4bf6a4f31a239f2a6db62fab20bb.png)
**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
的朋友,可以点击这里获取!](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**