目录

1.Rsync简介

2.rsync的基本特点:

3.基础命令

4.Rsync常用选项:

5.Rsync服务器端安装步骤

01服务器端安装服务

02服务器端修改配置文件

03创建共享目录/common

04创建密码文件

05创建服务器提示信息文件并向该文件中导入欢迎词

06添加防火墙规划

07启动服务

08客户端同步数据


1.Rsync简介

rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。

2.rsync的基本特点:

(1)可以镜像保存整个目录树和文件系统;

(2)可以很容易做到保持原来文件的权限、时间、软硬链接等;

(3)无须特殊权限即可安装;

(4)优化的流程,文件传输效率高;

(5)可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;

(6)支持匿名传输。

3.基础命令

查询是否安装服务

# rpm –qa|grep rsnc

创建共享目录

# mkdir common

修改默认配置文件

# vi /etc/rsyncd.conf

创建密码文件

# /etc/rsyncd.secrets

4.Rsync常用选项:

-v 详细模式输出

-a 归档模式,以递归的方式传输文件,并保持所有文件属性

-p 保留文件权限

-P 显示同步的过程及传输时的进度等信息

-t 保持文件时间信息

-g 保持文件属组信息

-o 保持文件属主信息

-D 保持设备文件信息,表示支持b,c,s,p类型的文件

-A 保留acl(访问控制权限)权限

-S 对稀疏文件进行特殊处理以节省DST(目标主机)的空间

-n 现实哪些文件将被传输。

-w 拷贝文件,不进行增量检测

-x 不要跨越文件系统边界

--delete 删除那些DST(目标主机)中SRC(源主机)没有的文件

--progress 显示备份过程

-z 对备份的文件在传输时进行压缩处理

--progress 在传输时现实传输过程

--password-file=FILE 从FILE中得到密码

5.Rsync服务器端安装步骤

01服务器端安装服务

首先查看服务器端是否已安装rsync。

[root@master ~]# rpm -qa|grep rsync
rsync-3.1.2-4.el7.x86_64

可以发现,系统默认安装了NFS服务,如果没有安装,可以运行“yum -y install rsync”命令来安装。

02服务器端修改配置文件

[root@master ~]# vi /etc/rsyncd.conf

添加以下内容:

# 设置进行数据传输时所使用的账户名称或ID号,默认使用nobody
uid=rsync
# 设置进行数据传输时所使用的组名称或GID号,默认使用nobody
gid=rsync
# 设置user chroot为yes后,rsync会首先进行chroot设置,将根映射到path参数路径下,对客户端而言,系统的根就是path参数所指定的路径。但这样做需要root权限,并且在同步符号连接资料时仅会同步名称,而内容将不会同步。
use chroot=no
# 设置服务器所监听网卡接口的IP地址
# address=192.168.125.128
# 设置服务器监听的端口号,默认为873
port=873
# 设置日志文件名称,可以通过log format参数设置日志格式
log file=/var/log/rsyncd.log
# 设置Rsync进程号保存文件名称
pid file=/var/run/rsyncd.pid
# 设置服务器信息提示文件名称,在该文件中编写提示信息
motd file=/etc/rsyncd.motd
# 开启Rsync数据传输日志功能
transfer logging=yes
# 设置锁文件名称
lock file=/var/run/rsync.lock
# 设置并发连接数,0代表无限制。超出并发数后,如果依然有客户端连接请求,则将会收到稍后重试的提示消息
max connections=10
# 模块,rsync通过模块定义同步的目录,模块以[name]的形式定义,可以定义多个模块
[common]
# comment定义注释说明字串
# comment=Web content
# 同步目录的真实路径通过path指定
path=/common/
# 是否允许客户端上传数据
read only=false
# 忽略一些IO错误
ignore errors=true
# exclude可以指定例外的目录,即将common目录下的某个目录设置为不同步数据
# exclude=test/
# 设置允许连接服务器的账户,账户可以是系统中不存在的用户
auth users=tql
# 设置密码验证文件名称,注意该文件的权限要求为只读,建议权限为600,仅在设置auth users参数后有效
secrets file=/etc/rsyncd.secrets
# 设置允许哪些主机可以同步数据,可以是单个IP,也可以是网段,多个IP与网段之间使用逗号分隔
hosts allow=192.168.125.128,192.168.128.129
#设置拒绝所有(除hosts allow定义的主机外)
hosts deny=*
# 客户端请求显示模块列表时,本模块名称是否显示,默认为true
list=false

03创建共享目录/common

创建共享目录“/common”:

[root@master ~]# mkdir /common
[root@master ~]# cd /common
[root@master common]# touch up{01..100}
[root@master common]# ls
up001  up009  up017  up025  up033  up041  up049  up057  up065  up073  up081  up089  up097
up002  up010  up018  up026  up034  up042  up050  up058  up066  up074  up082  up090  up098
up003  up011  up019  up027  up035  up043  up051  up059  up067  up075  up083  up091  up099
up004  up012  up020  up028  up036  up044  up052  up060  up068  up076  up084  up092  up100
up005  up013  up021  up029  up037  up045  up053  up061  up069  up077  up085  up093
up006  up014  up022  up030  up038  up046  up054  up062  up070  up078  up086  up094
up007  up015  up023  up031  up039  up047  up055  up063  up071  up079  up087  up095
up008  up016  up024  up032  up040  up048  up056  up064  up072  up080  up088  up096
[root@master ~]# useradd rsync -s /sbin/nologin -M
[root@master ~]# tail -1 /etc/passwd
[root@master ~]# chown rsync.rsync /common/
[root@master ~]# ll -d /common/

04创建密码文件

创建密码文件“/etc/rsyncd.secrets”,在该文件中输入两个账户:tql账户的密码是pas123,lxy账户的密码是zb123。需要注意的是,密码文件不可以对所有的人开放可读权限,为了安全,建议设置权限为600。

[root@master ~]# echo "tql:pas123" > /etc/rsyncd.secrets
[root@master ~]# echo "lxy:zb123" >> /etc/rsyncd.secrets
[root@master ~]# chmod 600 /etc/rsyncd.secrets

05创建服务器提示信息文件并向该文件中导入欢迎词

[root@master ~]# echo "welcome to access" >/etc/rsyncd.motd

06添加防火墙规划

添加防火墙规则,允许873端口的数据访问

[root@master ~]# firewall-cmd --permanent --add-port=873/tcp
success
[root@master ~]# systemctl restart firewalld.service
[root@master ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: 111/tcp 111/udp 2049/tcp 2049/udp 4001-4004/tcp 4001-4004/udp 873/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks:   rich rules:

07启动服务

由于rsync默认不是开机启动服务,为了实现开机启动rsync服务,可以通过echo将“rsync --daemon”追加至开机启动文件/etc/rc.local。

[root@master ~]# rsync --daemon
[root@master ~]# netstat -lntup |grep 873
tcp        0      0 0.0.0.0:873             0.0.0.0:*               LISTEN      3265/rsync
tcp6       0      0 :::873                  :::*                    LISTEN      3265/rsync

若出现上面类似的信息,则rsync启动成功。

[root@master ~]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local

centos7下/etc/rc.local文件里配置的开机启动项,默认是不执行的,那怎么办呢?下面是解决办法:

[root@master ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 12月  4 15:32 /etc/rc.local -> rc.d/rc.local
[root@master ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 497 3月  21 03:01 /etc/rc.d/rc.local
[root@master ~]# chmod +x /etc/rc.d/rc.local
[root@master ~]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 497 3月  21 03:01 /etc/rc.d/rc.local

重启服务,需执行下面两条命令:

[root@master ~]# pkill rsync
[root@master ~]# rsync --daemon

08客户端同步数据

在客户端同样使用rsync命令进行初始化数据传输,使用同样的程序,但客户端主机不需要--daemon选项。

[root@slave ~]# rpm -qa|grep rsync
rsync-3.1.2-4.el7.x86_64
[root@slave ~]# mkdir /test
[root@slave ~]# useradd rsync -s /sbin/nologin -M
[root@slave ~]# tail -1 /etc/passwd
[root@slave ~]# chown rsync.rsync /test/
[root@slave ~]# ll -d /test/
[root@slave ~]# echo "zb123" > /etc/rsyncd.secrets
[root@slave ~]# chmod 600 /etc/rsyncd.secrets

现在可以开始同步数据。

[root@master ~]# rm -f /test/*
[root@master ~]# ls /test/
[root@slave ~]# rsync -avz --progress --password-file=/etc/rsyncd.secrets lxy@192.168.125.128::common/ /test/
welcome to accessreceiving incremental file list
./
up0010 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=99/101)
up0020 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=98/101)
up1000 100%    0.00kB/s    0:00:00 (xfr#100, to-chk=0/101)sent 1,927 bytes  received 4,902 bytes  13,658.00 bytes/sec
total size is 0  speedup is 0.00
[root@slave ~]# ls /test/
up001  up007  up013  up019  up025  up031  up037  up043  up049  up055  up061  up067  up073[root@slave ~]# rm -f /test/*
[root@slave ~]# ls /test/
[root@slave ~]# rsync -avz --progress --password-file=/etc/rsyncd.secrets rsync://lxy@192.168.125.128/common/ /test/
welcome to accessreceiving incremental file list
./
up0010 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=99/101)
up0020 100%    0.00kB/s    0:00:00 (xfr#2, to-chk=98/101)
……
up1000 100%    0.00kB/s    0:00:00 (xfr#100, to-chk=0/101)sent 1,927 bytes  received 4,902 bytes  4,552.67 bytes/sec
total size is 0  speedup is 0.00[root@slave ~]# ls /test/
up001  up007  up013  up019  up025  up031  up037  up043  up049  up055  up061  up067  up073  up079  up085  up091  up097
up002  up008  up014  up020  up026  up032  up038  up044  up050  up056  up062  up068  up074  up080  up086  up092  up098
up003  up009  up015  up021  up027  up033  up039  up045  up051  up057  up063  up069  up075  up081  up087  up093  up099
up004  up010  up016  up022  up028  up034  up040  up046  up052  up058  up064  up070  up076  up082  up088  up094  up100
up005  up011  up017  up023  up029  up035  up041  up047  up053  up059  up065  up071  up077  up083  up089  up095
up006  up012  up018  up024  up030  up036  up042  up048  up054  up060  up066  up072  up078  up084  up090  up096

服务器端添加一个文件:

[root@master ~]# echo "This is test file">/common/test1.txt

客户端再次同步数据:

[root@slave ~]# rsync -avz --progress --password-file=/etc/rsyncd.secrets rsync://lxy@192.168.125.128/common/ /test/
welcome to accessreceiving incremental file list
./
test1.txt18 100%   17.58kB/s    0:00:00 (xfr#1, to-chk=100/102)sent 46 bytes  received 1,384 bytes  2,860.00 bytes/sec
total size is 18  speedup is 0.01
[root@slave ~]# ls /test/
test1.txt  up006  up012  up018  up024  up030  up036  up042  up048  up054  up060  up066  up072  up078  up084  up090  up096
up001      up007  up013  up019  up025  up031  up037  up043  up049  up055  up061  up067  up073  up079  up085  up091  up097

到这里就全部配置完了

[Linux常用服务器配置——Rsync服务】相关推荐

  1. 【Linux常用服务器配置——Samba服务】

    目录 1.简介 2.Samba的服务组成 3.安装samba服务 4.查看安装状况 5.设置开机自启动 6.启动服务 7.查看samba服务进程 8.防火墙设置 9.修改主配置文件 10.建立共享目录 ...

  2. 【Linux常用服务器配置——NFS服务】

    目录 1.NFS网络文件系统 2.NFS服务安装 1.NFS网络文件系统 NFS,Network File System,网络文件系统.它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以 ...

  3. Linux常用的网络服务基础命令

    Linux常用的网络服务命令: 其中servcie 服务名 start|stop|restart|reload是十分常用的 start:表示启动服务 stop:表示停止服务 restart:表示重启服 ...

  4. Linux常用命令——rsync命令

    在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) rsync 远程数据同步工具 补充说明 rsync命令是一个远程数据同步工具,可通过LAN/WAN ...

  5. Linux常用命令——rsync

    rsync 文件同步工具 语法格式: 本地模式 rsync [option][SRC][DEST] rsync [选项] [源文件] [目标文件] 通货远程 Shell 访问模式 拉去(Pull): ...

  6. linux临时启动进程命令,Linux常用命令(一)服务控制及优化启动过程

    Linux常用命令(一) 服务控制及优化启动过程 一.Red hat系统开机引导过程 1.linux操作系统的引导过程一般包括以下几个阶段:开机自检.MBR引导.GRUB菜单.加载Linux内核.in ...

  7. Kali Linux常用服务配置教程获取IP地址

    Kali Linux常用服务配置教程获取IP地址 下面以Kali Linux为例,演示获取IP地址的方法 (1)设置网络接口为自动获取IP地址.在Kali Linux的收藏夹中单击图标,将显示所有的程 ...

  8. Kali Linux常用服务配置教程启动DHCP服务

    Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...

  9. Kali Linux常用服务配置教程安装及配置DHCP服务

    Kali Linux常用服务配置教程安装及配置DHCP服务 在Kali Linux中,默认没有安装DHCP服务.下面将介绍安装并配置DHCP服务的方法. 1.安装DHCP服务 在Kali Linux中 ...

最新文章

  1. 线性回归之梯度下降法介绍
  2. 最强奥运会(互联网公司版)
  3. java hibernate sql,Java Hibernate中使用SQL 而不使用HQL
  4. css :after :berfor
  5. 信息学奥赛一本通(2018:【例4.3】输出奇偶数之和)
  6. PyTorch学习(7)-Seq2Seq与 Attention
  7. golang常用手册:数据类型、变量和常量
  8. SprinBoot-data-jpa整合Vue使用Swagger2实现前后端分离
  9. vscode markdown_VS Code中的Markdown插件
  10. 在VS.Net2010开发平台学习云计算开发
  11. 计算机上机计划,计算机上机实验内容及实验报告总结计划要求-20210711144121.doc-原创力文档...
  12. python机器学习库sklearn——Lasso回归(L1正则化)
  13. 设计模式之观察者模式PHP实现
  14. indesign使用教程,如何编辑段落样式?
  15. java环境变量代表的含义_java环境变量的含义
  16. vscode彻底卸载记录/使用经验
  17. MM眉心为什么会长痘痘
  18. [moses笔记]编译含有nplm的moses解码器
  19. 华云数据信创云基座“全芯全栈全生态”能力解读
  20. HR面试程序员,背调其前同事发现他人品差:能力和人品哪个重要?

热门文章

  1. 信息系统集成专业技术 典型试题分析
  2. AndroidStudio中Method “xxx” is never used 解决方案
  3. 海量数据集利用Minhash寻找相似的集合【推荐优化】
  4. Spring学习笔记09 - 对象的生命周期
  5. 银行贷款预测模型项目(Loan Prediction)(下)
  6. 小吴的《机器学习 周志华》学习笔记 第二章 2.4 比较检验、2.5 偏差与方差
  7. 《跟着小吴哥学python》之 14 Python http请求
  8. MySql超详细总结(珍藏版)
  9. SRT编码器传输获取公网IP地址3种解决方案
  10. 建模自上而下自下而上_物理学家到程序员:自下而上与自上而下的学习