解决:如何写一个shell脚本(脚本名称:xsync,也称:xsync命令):实现多个电脑或者虚拟机之间的文件同步?

解决:如何写一个shell脚本(脚本名称:xsync,也称:xsync命令):实现多个电脑或者虚拟机之间的文件同步?写一个shell脚本(脚本名称:xsync,又称xsync命令):实现多个电脑或者虚拟机之间的文件同步?一·xsync命令与rsync命令之间关系介绍:(1)xsync命令来源于一个xsync的脚本,这个脚本不是Linux系统自带的,是程序员自己写的。(2)xsync脚本的底层,实质是调用Linux系统自带的rsync命令,来实现多个电脑之间的快速文件同步。(3)rsync命令可以直接使用:二·xsync命令作用:(1)使用xsync命令同步一个文件,会只将这个文件,同步到其他服务器的相同路径下面。(2)使

大家好,又见面了,我是你们的朋友全栈君。

解决:如何写一个shell脚本(脚本名称:xsync,又称xsync命令):实现多个电脑或者虚拟机之间的文件同步?

一·xsync命令与rsync命令之间关系介绍:

(1)xsync命令来源于一个xsync的脚本,这个脚本不是Linux系统自带的,是程序员自己写的。

(2)xsync脚本的底层,实质是调用Linux系统自带的rsync命令,来实现多个电脑之间的快速文件同步。

(3)rsync命令可以直接使用:(rsync命令本质是通过“用户+电脑IP地址”形式,向其他服务器发送数据,并在其他服务器上创建相同目录与文件)

rsync命令的用法:

rsync -rvl 要拷贝的文件路径/名称 目的用户@主机IP地址:目的路径

例如:
rsync -rvl /root/shell/test.sh root@192.168.111.130:/root/shell/

二·xsync命令作用:

(1)使用xsync命令同步一个文件,会只将这个文件,同步到其他服务器的相同路径下面(没有的目录与文件会自动创建)。

(2)使用xsync命令同步一个目录,会将这个目录下面的所有文件以及子目录,同步到其他服务器相同路径下面(没有的目录与文件会自动创建)。

(3)多次同步某一个文件或者目录,第一次全部同步,第二次以及之后就只会同步里面发生更改的部分,未更改的部分不会重复同步

三·问题描述:

(1)Linux系统中不存在xsync命令,但存在相似命令sync,(即,可以使用rsync命令,但不能使用xsync命令)

在这里插入图片描述
在这里插入图片描述

(2)需要快速实现将一个文件同步到其他电脑上去,不是一个个复制(即,服务器集群中的快速同步命令)

四·问题原因:

(1)linux系统中缺少一个xsync脚本

(2)xsync脚本需要放到Linux系统的“/bin”目录下,这样才可以在任何目录下边调用xsync命令

五·解决方法:

(1)Linux系统开启ssh服务:

CentOS8开启SSH服务步骤:

1、首先安装SSH服务(centos8默认自带)

yum install openssh-server

2、启动SSH服务

systemctl start sshd

3、查看SSH服务状态

systemctl status sshd

4、查看端口(22端口)

netstat -antp | grep sshd

5、加入开机启动

chkconfig sshd on

(2)创建一个xsync脚本文件:

vim xsync

(3)将下面的xsync脚本模板,拷贝到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=129; host<=130;host++))
do
        echo ------------------- @192.168.111.$host --------------
        rsync -rvl $pdir/$fname $user@192.168.111.$host:$pdir/
done

注意:第五步循环rsync命令IP地址那一段,要结合自己的实际情况,去更改才行;rsync命令使用方法,参考上文所述

(4)给xsync脚本添加可以执行的权限

chmod 755 xsync

(5)将写好的xsync脚本文件,拷贝到“/bin”目录下边。

mv xsync /bin

(6)任意位置调用xsync命令,向多台服务器同步文件

xsync命令用法:
(1)xsync 路径/文件名
(2)xsync 路径/目录
注意:路径可以是绝对路径,也可以是相对路径

(7)实际测试:如下图所示

1.在一台电脑上执行这个xsync命令
在这里插入图片描述
2.另外两台电脑上面的相同路径下面,就会出现相同的文件
在这里插入图片描述
在这里插入图片描述

六·综上所述:上面的方法还有一个缺陷,那就是需要输入每台服务器的密码。若不想输入各台服务器密码。需要配置ssh私钥公钥,可以参考以下链接

https://blog.csdn.net/weixin_48033662/article/details/121542487?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143712.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringBoot笔记(五)Linux系统与项目部署

    SpringBoot笔记(五)Linux系统与项目部署Linux操作系统与项目部署**注意:**本版块会涉及到操作系统相关知识。现在,几乎所有智能设备都有一个自己的操作系统,比如我们的家用个人电脑,基本都是预装Windows操作系统,我们的手机也有Android和iOS操作系统,还有程序员比较青睐的MacBook,预装MacOS操作系统,甚至连Macbook的Touchbar都有一个自己的小型操作系统。操作系统是管理计算机硬件与软件资源的计算机程序,操作系统可以对计算机系统的各项资源板块开展调度工作,运用计算机操作系统可以减少人工资源分配的工作强度。.

    2022年7月19日
    14
  • 利用公网Msf+MS17010跨网段攻击内网(不详细立马关站)「建议收藏」

    利用公网Msf+MS17010跨网段攻击内网(不详细立马关站)「建议收藏」前言其实很多小白在对利用msf进行ms17010攻击的时候总是不成功,其实这都是因为网上大部分的文章都是写的内网对内网(192.168.1.2–&gt;192.168.1.3)这样的案例,今天写了一下利用公网的MSF直接攻击其他服务器内网的案例。准备工作1.安装了Msf的公网主机+Ubuntu系统2.一台其他服务器内网存在445漏洞3.细心,细心,细心,钻研,钻研!!!…

    2022年5月31日
    128
  • MIPI协议(上)

    MIPI协议(上)一、MIPIMIPI(移动行业处理器接口)是MobileIndustryProcessorInterface的缩写。MIPI(移动行业处理器接口)是MIPI联盟发起的为移动应用处理器制定的开放标准。已经完成和正在计划中的规范如下: 二、MIPI联盟的MIPIDSI规范1、名词解释•DCS(DisplayCommandSet):DCS是一个标准化的命令集,用于…

    2022年4月29日
    92
  • 在线css三角形生成器 「干货」[通俗易懂]

    在线css三角形生成器 「干货」[通俗易懂]为了提高前端开发效率,笔者先后写了上百个前端工具,有些是给公司内部使用的,有些单纯是因为自己太“懒”,不想写代码,所以才“被迫”做的.接下来介绍的一款工具——css三角形生成器也是因为之前想要解放设计师的生产力,自己又懒得切图或者写css代码,所以想来想去还是自己做一个能自动生成css三角形代码的工具吧.接下来笔者就来带大家介绍一下这个工具的用途和实现方案,方便大家后续可以扩展出更多的“懒人工具”.在线css三角形生成器预览由预览动画我们可以看到通过在线工具我们可以轻松配置..

    2025年6月15日
    3
  • 2018以太坊编程语言solidity最佳IDE

    2018以太坊编程语言solidity最佳IDE

    2021年6月11日
    145
  • 树莓派Python教程:树莓派能做什么

    树莓派Python教程:树莓派能做什么第一课:什么是树莓派第二课:树莓派能做什么第三课:购买您的第一个树莓派第四课:如何安装树莓派系统1~4课如果看过C语言版本的,请掠过…第二课:树莓派能做什么树莓派能做什么,莫过于来看一遍树莓派的10个经典项目的视频了,我们先以图片的形式过一遍。NO.1树莓派实现VR注意这个人头上戴的是一个虚拟3D眼镜,他看到的场景是树莓派上安装的两个摄像头,这两个摄像头就相当于人的两只眼睛,把视频传到这个眼镜,然后通过openGl渲染一个场景出来,从而控制这个机器人去做一些事情,这个机器人就是用树莓派

    2022年5月1日
    60

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号