文章目录
一:Rsync 理论
1.1:什么是rsync?有什么作用
- rsync,全称为:Remote Sync(远程同步),是一款开源的快速增量备份工具,可以在不同主机之间镜像同步整个目录树
- 还支持本地复制,增量备份、保持连接和权限,或者与其他SSH,rsync主机同步
- 采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份、镜像服务器等应用

1.2:rsync源服务器的关系
二:Rsync 实验
2.1:rsync命令集锦
-
1、启动rsync服务:
rsync --daemon -
2、关闭rsync服务:
kill $(cat /var/run/rsyncd.pid) -
3、同步本地文件系统数据:rsync [选项] 原始位置 目标位置
例如: rsync /etc/fstab /opt '//同步本机的fstab文件到opt目录' rsync -rl /boot/grub /opt '//同步本机的grub目录到opt目录' '//如果想要在/opt目录下也创建一个boot目录,那么命令需要为:rsync -R rl /boot/grub /opt ' 常用选项: -a:归档模式,递归并保留对象属性,等同于 -rlptgoD -r 对子目录以递归模式处理,主要是针对目录来说的,如果单独传一个文件不需要加-r,但是传输的是目录必须加-r选项 -l 保留软链接 -p 保持文件权限 -v:显示同步过程的详细(verbose)信息 -z:在传输文件时进行压缩(compress) -H:保留硬连接文件 -A:保留ACL属性信息 --delete:删除"目标"中"源"没有的文件 --checksum:根据对象的校验和来决定是否跳过文件 --progress 在同步的过程中可以看到同步的过程状态,比如统计要同步的文件数量、同步的文件传输速度等等 路径的格式可以是本地路径,也可以是使用user@host:path或user@host::path的远程路径,如果主机和path路径之间使用单个冒号隔开,表示使用的是远程shell通信方式,而使用双冒号隔开的则表示的是连接rsync daemon -
4、源下行同步—客户机"拉" (恢复数据)(使用客户端将rsync服务器下的wwwroot共享模块下的内容同步到本地的/opt目录下(共享模块下的真实共享路径需要对other用户具有 ‘r’ 权限))
-
(1):命令格式
用户名@主机地址::共享模块名例如:
[root@client ~]# rsync -avz lisi@192.168.100.140::wwwroot /opt -
(2):命令格式:
rsync://用户名@主机地址/共享模块名例如:
[root@client ~]# rsync -avz rsync://lisi@192.168.100.140/wwwroot /opt
5、客户端上行同步—客户机"推" (备份数据)
-
命令格式
[root@client ~ ]# rsync -avz /var/www/html lisi@192.168.100.140::wwwroot“把站点目录上行往源去备份,备份到wwwroot模块”
6、rsync通过ssh的方式同步
-
命令与平常的scp命令类似
-
例如:将本地/opt/abc.txt上传到目标服务器/opt目录:
rsync -avz /opt/abc.txt lisi@192.168.100.140:/opt -
例如:将目标服务器/opt/qwe.txt文件下载到本地/opt目录下:
rsync -avz lisi@192.168.100.140:/opt/qwe.txt /opt
7、
/etcrsync.conf介绍-
vim /etc/rsyncd.conf motd file = /etc/rsyncd.motd #设置服务器信息提示文件,在该文件中编写提示信息 transfer logging = yes #开启rsync数据传输日志功能 log file = /var/log/rsyncd.log #设置日志文件名,可通过log format参数设置日志格式 pid file = /var/run/rsyncd.log #设置rsync进程号保存文件名称 lock file = /var/run/rsync.lock #设置锁文件名称 port = 873 #设置服务器监听的端口号,默认是873 address = 192.168.0.230 #设置本服务器所监听网卡接口的ip地址 uid = nobody #设置进行数据传输时所使用的帐户名或ID号,默认使用nobody gid = nobody #设置进行数据传输时所使用的组名或GID号,默认使用nobody #若为yes, rsync会首先进行chroot设置,将根映射在下面的path参数路径下,对客户端而言,系统的根就是path参数指定的路径。但这样做需要root权限,并且在同步符号连接资料时只会同步名称,不会同步内容。 use chroot = no read only = yes #是否允许客户端上传数据,yes表示不允许 max connections =10 #设置并发连接数,0表示无限制 [common] #自定义模块名,rsync通过模块定义同步的目录,可定义多个 comment = web content #定义注释说明字串 path = /common #同步目录的真是路径通过path指定 ignore errors #忽略一些IO错误 #exclude = test/ #exclude指定common目录下某个目录可以不同步数据 auth users = tom, jerry #设置允许连接服务器的账户,此账户可以是系统中不存在的用户 secrets file = /etc/rysncd.secrets #密码验证文件名,该文件权限要求为只读,建议为600,仅在设置auth users后有效 hosts allow =
-

本文介绍Rsync的原理与应用,包括如何在不同主机间进行增量备份及实时同步,配合Inotify工具实现文件系统变化的即时响应。

最低0.47元/天 解锁文章
182





