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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值