linux系统同步分发xsync配置

linux系统同步分发xsync配置

1.在本地的/etc/hosts文件中,配置要同步分发的服务的IP别名。在这里插入图片描述

2.配置免密登录

2.1生成rsa密钥

使用命令ssh-keygen 生成rsa密钥,配置信息直接回车即可, 生成的密钥默认在当前用户主目录的.ssh目录下。
密钥文件有两个:

  • id_rsa 存放着私钥
  • id_rsa.pub 存放着公钥

命令执行结果如下:
在这里插入图片描述

2.2 copy机器自身公钥到目标机器

2.2.1 在目标机器(server2,server3)的用户主目录创建.ssh目录

mkdir -p ~/.ssh

2.2.2 在本地执行远程拷贝命令

cd /root/.ssh
scp id_rsa.pub root@server2:/root/.ssh/authorized_keys
scp id_rsa.pub root@server3:/root/.ssh/authorized_keys

2.3 远程登录测试

ssh root@server2

3.xsync脚本配置和使用

3.1xsync是对rsync脚本的二次封装,所以需要先下载rsync命令。

使用以下命令即可安装

yum install -y rsync

3.2添加xsync脚本

在用户主目录的bin目录下添加脚本(我在是/usr/local/bin新建的xsync),脚本内容如下

#!/bin/sh

# 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount!=4)); then
    echo Usage: $0 filename servername startno endno
    exit;
fi


# 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

# 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
# 获取当前用户名称
user=`whoami`
# 获取hostname及起止号
slave=$2
startline=$3
endline=$4

# 循环
for((host=$startline; host<=$endline; host++)); do
    echo $pdir/$fname $user@$slave$host:$pdir
    echo ==================$slave$host==================
    rsync -rvl $pdir/$fname $user@$slave$host:$pdir
done


该脚本经过修改,需要携带4个参数,分别是

filename 待发送的文件或目录名
servername 服务器前缀名
startno 服务器编号起始编号
endno 服务器编号终止编号

3.3 赋予xsync权限

chmod 777 xsync

3.4.测试xsync

以下是把本地/opt/1.txt文件同步到server2和server3的同目录下

xsync /opt/1.txt  server 2 3
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值