阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

rsync服务与搭建详解

220次阅读
没有评论

共计 3388 个字符,预计需要花费 9 分钟才能阅读完成。

rsync 介绍

rsync 全称 remote sync,是一种更高效、可以本地或远程同步的命令,之所以高效是因为 rsync 会对需要同步的源和目的进度行对比,只同步有改变的部分,所以比 scp 命令更高效,但是rsync 本身是一种非加密的传输,可以借助 - e 选项来设置具备加密功能的承载工具进行加密传输

rsync 的工作模式

rsync 有四种工作模式分为:

1、shell 模式,也称作本地模式

2、远程 shell 模式,此时可以利用 ssh 协议承载其数据传输过程

3、列表模式,其工作方式与 ls 相似,仅列出源的内容:-nv

4、服务器模式,此时,rsync 可以工作在守护进程,能够接收客户端的数据请求;在使用时,可以在客户端使用 rsync 命令把文件发送到守护进程,也可以像服务器请求获取文件

rsync 命令选项

-n:测试,在不确定命令是否能按照意愿执行时,务必要实现测试

-v:详细输出模式,–verbose

-q:–quiet,静默模式

-c:–checksum,开启校验功能,强行对文件传输进行校验

-r:–recursive,递归复制

-a: –archives. 归档,保留文件的原有属性相当于 rlptgoD 的选项组合rsync 服务与搭建详解-p:–perms 保留文件的权限

-t: –times 保留文件的时间戳

-l:–links 保留文件的符号链接

-g:–group 保留文件的属组

-o:–owner 保留文件的属主

-D:–devices 保留设备文件

-e ssh:表示使用 ssh 协议作为继承

-z:对文件压缩后传输

–progress:显示进度条

根据同步的方向不同,分为推、拉两种方式,其命令用法为:rsync 服务与搭建详解

此处需要注意的地方有两点:

1、如果使用命令时只指定源而不指定目标,仅会将源以列表的形式显示而不同步

2、rsync 命令使用中,如果 源参数的末尾有斜线,只会复制指定目录的内容 ,而不复制目录本身, 没有斜线,则会复制目录本身,包括目录

rsync 服务与搭建详解

rsync 服务与搭建详解

rsync 生产环境使用方式

在中小企业的生产环境中经常有这么一种需求,A 服务器上的某些重要文件需要每天备份到 B 服务器上,此时就可以使用 rsync+crontab 来进行备份,其步骤为:rsync 服务与搭建详解

1、配置 rsync 服务器端

yum -y install xinetd   rsync 是位于 xinetd 守护进程中

2、vim /etc/rsyncd.conf 创建 rsync 的配置文件rsync 服务与搭建详解

3、配置文件分为 全局配置段 模块配置段,注意配置文件内的设置项使用格式rsync 服务与搭建详解

#Global Parameters

pid file = /var/run/rsyncd.pid  设置 rsync 运行时 pid 文件的位置

log file = /var/log/rsyncd.log  设置 rsync 运行时 log 文件的位置

lock file = /var/run/rsyncd.lock  设置 rsync 运行时 lock 文件的位置

uid = nobody

gid = nobody

uid 和 gid 这两个选项的作用是 指定在运行 rsync 时以哪个用户来替代 root,nobody 是系统默认值,不存在于系统用户中,如果此处设置为 nobody,则在模块配置段依然需要指定一个系统用户来运行 rsyncrsync 服务与搭建详解

ignore errors = yes 是否忽略错误

list = no 是否允许列出名单

#Module Parameters

[module_name] 服务器模式下rsync 目的名称(DES)使用的是模块名称

path = /path/to/some_dir

uid = root

gid = root

如果全局配置段的 uid 和 gid 设置时不是 nobody 而是使用的一个系统账户,在模块配置段这两个选项可以不添加这两个选项

max connections = 5 最大连接用户数

timeout = 300 超时时间

read only = false 只读,适用于 Client 端 pull 场景

write only = false 只写,适用于 Client 端 push 场景

auth users = username 允许链接该模块的用户,该用户是虚拟用户 可以不存在rsync 服务与搭建详解

secrets file = /etc/rsync.passwd  用户密码(auth user)的存放文件

strict modes = yes 检查 secrets file 文件的权限是否满足要求rsync 服务与搭建详解

use chroot = no 是否禁锢用户家目录

max connections = 4 最大连接数

hosts allow = ipaddress/netmask   白名单

hosts deny = ipaddress/netmask   黑名单

此处需要注意:

(1)默认规则为允许访问,二者都不出现时

(2)只出现 hosts allow:定义白名单;但没有被匹配到的由默认规则处理,即为允许

(3)只出现 hosts deny:定义黑名单;出现在名单中的都被拒绝

(4)二者同时出现,先检查 hosts allow, 如果匹配就 allow,否则,检查 hosts deny 如果匹配则拒绝,如二者均无匹配,则使用默认的,即允许

4、为 auth user 用户创建 secrets file 文件存放账号和密码,

vim /etc/rsync.passwd    账号可以不存在,密码可以任意设置rsync 服务与搭建详解

5、因为开启了 strict modes = yes,所以要修改 /etc/rsync.passwd 文件权限

chmod 600 /etc/rsync.pass

6、将 rsync 服务设为开机启动并启动该服务,rsync 侦听在 873 端口

chkconfig rsync on

service xinetd startrsync 服务与搭建详解

7、使用命令测试是否可以正常同步rsync 服务与搭建详解

testuser 与 password 就是步骤 4 中定义在 rsync.passwd 文件中的用户和密码,test 目标则是 Module Parameters 中定义的模块名称

使用 password-file 文件登录

大部分的备份我们需要结合 crontab 来执行自动备份,此时就需要 rsync 在使用时结合 password-file 文件来免密码登录,操作步骤为:

1、vim /etc/rsync.passwd 创建存放密码的 password-file 文件来,此处注意的是该文件内容不同于服务器端,仅保存使用 rsync 命令时的用户的密码rsync 服务与搭建详解

2、安全起见还是需要修改 /etc/rsync.passwd 文件权限

chmod 600 /etc/rsync.pass

3、再次进行测试,使用 –password-file 指明存放密码的文件位置,步骤 1 中的密码此时就是 testuser 的密码,该用户名和密码需要与服务器端 /etc/rsync.passwd 文件中的用户名和密码匹配rsync 服务与搭建详解

4、使用 crontab -e 命令设置周期性任务,周期性任务保存在 /var/spool/cron/user_name 文件中,或者使用 crontab - l 可以查看rsync 服务与搭建详解

如果没有 –delete 选项,源服务器上已删除的部分再执行下一次周期任务时依然会继续保留在目标服务器上,目标服务器只同步源服务器新增的部分rsync 服务与搭建详解

增加 –delete 选项会将源和目标服务器上有差异的部分删除掉rsync 服务与搭建详解

RSync 实现文件备份同步详解   http://www.linuxidc.com/Linux/2014-09/106967.htm

利用 inotifywait 监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用 inotify+rsync 实现 Linux 文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync 实时同步文件安装和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync 同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5 下 Rsync 远程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Linux 文件夹对比并提取的差分文件技巧 -rsync 的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm

Rsync 的详细介绍:请点这里
Rsync 的下载地址:请点这里

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136143.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3388字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中