rsync实现文件的简单同步

rsync简介

优点:rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等。

缺点:rsync同步需要扫描所有文件进行对比,当文件非常大时,会消耗很多资源和时间

==============================================================

RSYNC的特性

rsync:功能类似cp,scp

特点:(远程传输默认是不加密的)

1、可以镜像保存整个目录树或文件系统

2、较高的数据传输效率

3、可以借助于ssh实现安全的远程传输

4、支持匿名传输

rsync命令的工作模式:

第一中模式:shell模式,即为本地模式;

第二种模式:远程shell模式,可以利用ssh协议承载远程传输过程;

第三种模式:列表模式,仅列出源中的内容,-n;

第四种模式:服务模式,工作为rsync为守护进程,能够接受客户端的数据同步请求;

使用rsync的基本参数和用法

rsync命令的选项:

-n:同步测试,不执行真正的复制过程

-v:详细输出模式

-q:静默模式

-c:checksum,开启校验功能

-r:递归辅助

***rsync命令中,如果源路径是目录,且复制路径时末尾有/,则会复制目录内的所有内容;如果

没有/,则会复制目录及目录的所有文件

-a:归档,保留文件的原有属性

-p:保留文件的权限

-t:保留文件是时间戳

-l:保留符号链接

-g:保留属组

-o:保留属主

-D:保留设备文件

-e ssh:使用ssh作为传输承载

-z:压缩后传输

--progress:显示传输进度

--stats:

使用格式:

Access via remote shell:

Pull: rsync [OPTION...] [[email protected]]HOST:SRC... [DEST]

Push: rsync [OPTION...] SRC... [[email protected]]HOST:DEST

Access via rsync daemon:

Pull: rsync [OPTION...] [[email protected]]HOST::SRC... [DEST]

rsync [OPTION...] rsync://[[email protected]]HOST[:PORT]/SRC... [DEST]

Push: rsync [OPTION...] SRC... [[email protected]]HOST::DEST

rsync [OPTION...] SRC... rsync://[[email protected]]HOST[:PORT]/DEST

******************更详细的使用请参考官方文档*******************************

使用rsync实现数据同步

主机

ip地址

rsynchostone

172.16.1.20

rsynchosttwo

172.16.1.21

这里以两台web服务器为例,根目录均为/data/htdocs/www

1、为rsynchoxtone配置配置文件

#vim     /etc/rsyncd.conf

####################################

###########Globle setting##############

uid = nobody

gid = nobody

user chroot  = no

max connections = 5

timeout =  300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log

###################################

[www]

path = /data/htdocs/

ignore errors = yes

read only = no

list = faulte

hosts allow = 192.168.1.131

auth users = www

secrets file = /etc/rsyncd.password

=====================

创建密码文件

#vim /etc/rsyncd.password

www:mageedu         //注意密码不能超过八各字符

2、重启xinetd服务

#/etc/init.d/xinetd restart

3、为rsynchosttwo安装inotify-tools

****由于inotify特性需要Linux内核的支持,在安装inotify-tools前要先确认Linux系统内核是否达到了 2.6.13以上,如果Linux内核低于2.6.13版本,就需要重新编译内核加入inotify的支持,也可以用如下方法判断,内核是否支持 inotify

参看内核版本:

#uname -r

编译安装inotify-tools

1)下载相关源码包:

http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20110418/309980.html

2)编译安装

#tar  xf  inotify-tools-3.14.tar.gz

#cd  inotify-tools-3.14

#./configure && make && make install

4、为rsynchosttwo上的inotify创建开机启动脚本

#vim  /root/rsync.sh

#################################################

#!/bin/bash

src=/data/htdocs/www/

des=www

ip=192.168.1.130

/usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f‘ -e modify,delete,create,attrib  $src | while read file

rsync -vzrtopg --delete --progress $src www:@ip::des --password-file=/etc/rsyncd.password &&

echo "$src was rsyncd .  now !"

done

5、启动守护进程,启动脚本

#service xinetd start

#bash -x rsync.sh

6、在rsynvhosttwo的根目录创建文件,就可以在rsynchostone的根目录看见了

时间: 2024-10-05 13:33:45

rsync实现文件的简单同步的相关文章

sersync + rsync 实现文件的实时同步

前面我们说过rsync + inotify 的方式来实时的同步文件 今天来记录一下一项新的东西来实现文件的实时同步 那就是sersync + rsync 实验环境: 192.168.220.99     源文件 192.168.220.98     备份文件 sersync的介绍 sersync主要用于服务器同步,web镜像等功能.基于boost1.43.0,inotify api,rsync command.开发.目前使用的比较多的同步解决方案是inotify-tools+rsync ,另外一

Rsync 实现文件定时同步

操作系统: 文件服务器端: Red Hat Linux Advanced Server release 2.1AS/i686 (Pensacola) 客户端:Red Hat Linux release 7.2 (Enigma) 其中,服务器端的Linux已经捆绑了 Rsync.我在AIX下也实现了客户端. [注意事项]: 1.    要确定系统本身是否已经绑定(安装)了Rsync,可以到/usr/bin ,/usr/local/bin/ 或者 /usr/sbin/ 等目录下查找 Rsync是否存

【惊雷】Linux下Rsync的文件同步的配置过程

Rsync的文件同步实现 一.rsync 简介 Rsync(remote synchronize)是一个远程数据同步工具,简要的概括就是主机于主机之间的文件目录数据的一个同步. 它的特性如下: 可以镜像保存整个目录树和文件系统. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 无须特殊权限即可安装. 快速:第一次同步时 rsync 会复制全部内容,但在下一次只传输修改过的文件.rsync 在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽. 安全:可以使用scp.ssh等

rsync+inotify文件同步 - 同步慢的问题

rsync+inotify文件同步 - 同步慢的问题 我们来看网上的教程,我加了注释.(网上所有的教程基本都一模一样,尽管写法不一样,致命点都是一样的) #!/bin/bash /usr/bin/inotifywait -mrq --format '%w%f'-e create,close_write,delete /backup |while read file #把发生更改的文件列表都接收到file 然后循环,但有什么鬼用呢?下面的命令都没有引用这个$file 下面做的是全量rsync do

Centos7利用rsync实现文件同步

测试环境: CentOS 7.4 Rsync服务端:192.168.99.112 CentOS 7.4 Rsync客户端:192.168.99.136 第一种方式:rsync通过ssh方式同步 1.Rsync服务端和客户端都需要安装rsync [[email protected] ~]# yum -y install rsync 2.使用 前提:需知道远程服务器开启ssh端口和账号密码 A.推文件: [[email protected] tmp]# rsync -av /etc/passwd 

sersync2+rsync目录文件实时同步备份

说明: 192.168.1.2(sersync+rsync)---------------FTP 192.168.1.3(rsync)--------------------------backup 实验目的: 实时自动同步:192.168.1.2 ------->192.168.1.3到目录:/data/ftpdata ; 764  viconfxml.xml 765  ./GNU-Linux-x86/sersync2 -d -r confxml.xml 767  ./GNU-Linux-x8

采用 unison + inotify + rsync 实现文件触发式实时单向/双向/多向文件同步

项目有个新的需求,在多台APP服务器随机上传图片/资源文件,其中一台APP需要读取上传的图片,这样之前做的rsync+inotify的设置就无法应对了. 所以研究了下多向触发式实时同步机制,大家可以实验一下,如果有不妥的地方,请联系我修正,多谢了. 以下开始正题 一.     简介 Unison是Windows.Linux以及其他Unix平台下都可以使用的文件同步工具,它能使两个文件夹(本地或网络上的)保持内容的一致.Unison拥有与其它一些同步工具或文件系统的相同的特性,但也有自身的特点:

rsync+inotify-tools实现文件的实时同步

rsync简介: Rsync 是一个远程数据同步工具,使用所谓的"Rsync 演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.运行 Rsync server 的机器也叫 backup server,一个 Rsync server 可同时备份多个 client 的数据:也可以多个Rsync server 备份一个 client 的数据.Rsync 可以搭配 rsh 或 ssh 甚至使用 daemon 模式.Rsyn

rsync+inotify实现服务器间文件的实时同步

rsync虽然可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样刚好解决了我的需求,同步数据实时性的问题,下面便看我娓娓道来. 一) lists Ip Status Cp  PATH App 192.168.1.1 Server /data Rsync-server 192.168.1.2 Client /OM/logs/data Rsync-client+