栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

rsync工具

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

rsync工具

rsync工具

简介

rsync,顾名思义remote sync(synchronize,使同步),是一款远程同步(镜像备份)工具,可以本地拷贝、把本地文件同步到远程,把远程文件拷贝到本地;可以镜像保存整个目录树和文件系统、可以做到保持原来文件的权限、时间、软硬链接等等。

rsync的安装

这里做实验用的是两台centos7的虚拟机,其中192.168.47.144做服务端,192.168.47.150做客户端

服务端

  • 安装
    yum -y install rsync.x86_64
    yum -y install xinetd

    Xinetd:即extended internet daemon,是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务。Xinetd提供类似于inetd+tcp_wrapper的功能,但是更加强大和安全。

  • 修改xinetd配置文件,配置文件位置为/etc/xinetd.d/rsync,内容为
    service rsync#在xinetd.d目录中,每一个服务都有一个相应的配置文档,rsync为服务名
    {
    disable = no#是指开放远方telnet,假如需要禁止则将该配置改为:disable=yes
    socket_type = stream#说明Socket连接类型是stream,也就是TCP
    wait = no#指不等待到启动完成
    user = root#是指以root用户启动服务进程
    server = /usr/bin/rsync#是指服务进程是/usr/bin/rsync
    server_args = --daemon#守护进程
    port = 873#工作端口
    log_on_failure = USERID#是用于做一些出错日志
    }

  • 修改rsync的配置文件,在最后加上
    [test]#模块名,一个模块定义是以方括弧中的模块名开始,直到下一个模块定义开始或者文件结束。
    path = /test#指定该模块的供备份的目录树路径,该参数是必须指定的。
    uid = root#该选项指定当该模块传输文件时守护进程应该具有的uid,配合gid选项使用可以确定哪些可以访问怎么样的文件权限,默认值是"nobody"。
    gid = root#该选项指定当该模块传输文件时守护进程应该具有的gid。默认值为"nobody"。
    max connections = 2#指定该模块的最大并发连接数量以保护服务器,超过限制的连接请求将被告知随后再试。默认值是0,也就是没有限制。
    timeout = 300#通过该选项可以覆盖客户指定的IP超时时间。通过该选项可以确保rsync服务器不会永远等待一个崩溃的客户端。超时单位为秒钟,0表示没有超时定义,这也是默认值。对于匿名rsync服务器来说,一个理想的数字是600。
    read only = false#该选项设定是否允许客户上载文件。如果为true那么任何上载请求都会失败,如果为false并且服务器目录读写权限允许那么上载是允许的。默认值为true。
    auth users = root#该选项指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块。
    secrets file = /etc/rsync.passwd#该选项指定一个包含定义用户名:密码对的文件。只有在"auth users"被定义时,该文件才有作用。文件每行包含一个username:passwd对。
    strict modes = yes#该选项指定是否监测密码文件的权限,如果该选项值为true那么密码文件只能被rsync服务器运行身份的用户访问,其他任何用户不可以访问该文件。默认值为true。
    use chroot = yes#如果"use chroot"指定为true,那么rsync在传输文件以前首先chroot到path参数所指定的目录下。这样做的原因是实现额外的安全防护,但是缺点是需要root权限,并且不能备份指向外部的符号连接所指向的目录文件。默认情况下chroot值为true。
  • 准备密码文件nano /etc/rsync.passwd(这里的密码文件名要和前面的配置文件里面的一样)

  • 给密码文件权限chmod 600 /etc/rsync.passwd

    客户端

  • 安装yum -y install rsync.x86_64

    rsync的使用

    服务端

  • 启动服务systemctl start xinetd.service
  • 查看一下端口状态ss -tanl | grep 873

  • 准备实验用的文件(其实不用也行,下面就直接利用本地拷贝的文件来进行试验了)
    mkdir /test
    touch /test/haha
    nano /test/haha

    客户端

    查看服务端有哪些可用的数据源

    rsync --list-only root@192.168.47.144::

    本地拷贝

    利用rsync把本地的文件从一个目录拷贝到另一个目录

    mkdir /backup
    touch test.txt
    ls
    rsync test.txt /backup
    ls /backup

    同步本地文件到远程

    rsync test.txt root@192.168.47.144::test

    接着输入之前设置的密码就行,之后就会发现服务端(远程)的相应目录(之间配置文件里面所设置的)下出现同步的文件

    注意:如果是rsync test.txt root@192.168.47.144::test就是拷贝到目标的test配置目录下,如果是rsync test.txt root@192.168.47.144:/test 就是拷贝到服务端的/test(通过ssh查找,没有用rsync)

    把远程文件拷贝到本地

    rsync -r root@192.168.47.144::test /backup

  • 转载请注明:文章转载自 www.mshxw.com
    本文地址:https://www.mshxw.com/it/728547.html
    我们一直用心在做
    关于我们 文章归档 网站地图 联系我们

    版权所有 (c)2021-2022 MSHXW.COM

    ICP备案号:晋ICP备2021003244-6号