rsync命令以及xsync封装

1. 配置ssh无密码登录

具体操作请看这里

如果ping的通在进行操作

2. 安装rsync

  1. 使用apt-get install rsync 或者使用yum install -y rsync进行安装
  2. 安装完成后测试输入rsync不会出现命令找不到就行了。

3. 封装xsync命令

  1. 编写脚本vim xysnc,或者touch创建完成在进行vim xsync修改
  2. 增加如下内容
#!/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


  1. 修改文件权限 chmod 777 xsync
  2. 尝试执行
xsync 文件名 主机名称 主机起始编号 主机终止编号
比如你以root的身份,在/usr/local/hadoop文件夹下执行:

xsync test.txt node 1 10

就是把文件test.txt同步到 主机的node1, node2, node3 ...node10
的root用户的/usr/local/hadoop文件夹下。
  1. 放到环境变量中,方便使用。如果安装了hadoop可以放到hadoop的bin目录下,如果安装了java可以放在Jdk的bin目录下

4. 问题记录

  1. 这里说一下,为什么要生成公钥与私钥。

    • 最主要的是公钥可以有多个主机持有,而私钥只有自己有,所以,别人没法破译别人发给我的信息。
    • 还有就是公钥短,保密性差,私钥长,保密性强。
  2. 如果出现了Permission Denied,先看看密码输入的对不对,之后看vim /etc/ssh/sshd_config文件中的PasswordAuthentication是不是yes,最后看PermitRootLogin是不是yes
    在这里插入图片描述

在这里插入图片描述

如果以上都不能登录的话,果断换一个静态Ip地址。别问我为什么,问就是一上午也ssh登录不成功。

5. 参考文章

公钥私钥的运行原理
xsync命令的封装

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值