使用rsync实现文件备份同步

一. 介绍
rsync – remote synchronize是类unix系统下的数据镜像备份工具,它的特性如下:
1. 可以镜像保存整个目录树和文件系统。
2. 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
3. 无须特殊权限即可安装。
4. 快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件。rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽。
5. 安全:可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
6. 支持匿名rsync 同步文件,是理想的镜像工具。
二. 安装
服务端和客户端安装rsync
yum -y install rsync
也可以源码安装
rsync下载地址:http://rsync.samba.org/
./configure
make && make install
但是需要注意的是必须在服务器A和B上都安装rsync,其中A服务器上是以服务器模式运行rsync,而B上则以客户端方式运行rsync。这样在web服务器A上运行rsync守护进程,在B上定时运行客户程序来备份web服务器A上需要备份的内容。
三. 服务端配置
cat /etc/rsyncd.conf
#[globale]
strict modes = yes
port = 873
uid = nobody
gid = nobody
user chroot = no
max connections = 5 #同时的最大连接数
timeout = 600
pid file = /var/run/rsyncd.pid #进程的pid存放文件位置
lock file = /var/run/rsyncd.lock #lock文件位置
log file = /var/log/rsyncd.log #日志文件位置

[testdata] #建立一个备份名,客户端通过该名称指定具体的备份位置
path=/data/test/img #备份文件存放的目录位置
ignore errors
read only = no
list = no
hosts allow = 106.xxx.xxx.xxx #允许客户端B地址
auth users = test #允许那些用户,这里的用户test的信息存放在/etc/rsyncd.password
secrets file = /etc/rsyncd.password #指定允许的用户和用户密码
建立/etc/rsyncd.password文件
cat /etc/rsyncd.password
test:123456
修改防火墙策略,允许873端口(tcp/udp)
iptables -A INPUT -s 106.xxx.xxx.xxx -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
service iptables save
启动服务器端
/usr/bin/rsync --daemon --config=/etc/rsyncd.conf
开机自启动
echo ‘/usr/bin/rsync --daemon --config=/etc/rsyncd.conf‘ >> /etc/rc.local
四. 客户端配置
/usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd.password [email protected]服务端ip::test /data/backup/img
rsync参数
-a –archive归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r –recursive 对子目录以递归模式处理
-l –links 保留软链
-p –perms 保持文件权限
-t –times 保持文件时间信息
-g –group 保持文件属组信息
-o –owner 保持文件属主信息
-D –devices 保持设备文件信息
-z –compress 对备份的文件在传输时进行压缩处理
-P –partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输
-v –verbose 详细模式输出
-e –rsh=COMMAND 指定替代rsh的shell程序
-u –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件)
–progress 显示备份过程
–delete 是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

时间: 2024-09-29 15:57:58

使用rsync实现文件备份同步的相关文章

rsync实现文件备份同步(比如服务器镜像)

[rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包

RSync实现文件备份同步

转自:http://www.mike.org.cn/blog/index.php?load=read&id=639###pp=0 [rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 “rsync 算法”提供了一个客户机和

RSync实现文件备份同步详解

1.rsync简介 rsync是Unix下的一款应用软件,它能同步更新两处计算机的文件与目录,并适当利用差分编码以减少数据传输.rsync中一项与其他大部分类似程序或协议中所未见的重要特性是镜像对每个目标只需要一次发送.rsync可拷贝/显示目录属性,以及拷贝文件,并可选择性的压缩以及递归拷贝. 下面是rsync的图解: 利用inotifywait监控主机文件和目录 http://www.linuxidc.com/Linux/2013-03/81075.htm 利用inotify+rsync实现

rsync配置两台服务器之间的文件备份(同步)

rsync配置两台服务器之间的文件备份(同步) 前情提要 环境: 192.168.1.2 主服务器 centos 7.7 192.168.1.3 备份服务器 centos 7.7 rsync 安装(两台linux都需要安装) 在linux环境下,以centos为例,安装非常简单: [[email protected] ~]# yum install rsync rsync的配置文件(服务端配置) rsync 服务端安装完成之后是没有生成rsync.conf文件的,需要手动创建rsyncd.con

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

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

Rsync无差异同步原理和实现

4.Rsync无差异同步原理和实现.md 无差异同步   在生产环境中我们可能会遇到这样的状况,我们的客户端在服务端去拉取数据的时候,首先一点,对于拉取我们的服务端有的那么我们客户端肯定有.但是我们的客户端有的服务端就不一定是有的了.反之如果是推送的话,那么我们客户端有的我们的服务端那肯定是有的,但是我们的服务端有的我们的客户端不一定有.所以对于这种当服务端删除一条数据之后为了保障我们的客户端也能在下一次同步的时候进行删除的这种情况我们就需要采取无差异同步,保障数据的一致性. 实现方法 --de

RSYNC实现文件同步

1.安装(客户端服务端都要安装) yum -y install rsync 2.安装xinetd yum -y install xinetd 3.修改xinetd配置文件 修改 /etc/xinetd.d/rsync  把 disable = yes  改为disable = no 4.创建rsync服务器配置文件/etc/rsyncd.conf vi /etc/rsyncd.conf uid = root gid = root port = 873 hosts allow = 192.168.

CentOS5.8 x86_64下配置rsync+inotify即时同步文件

rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样就可以解决同步数据的实时性问题.rsync+inotify我在工作中会经常用到,大家部署这种时请注意以下方面: 一.rsync服务器的uid和gid请将nobody:nobody改为www:www,因为是考虑到我们的Nginx服务器是由www:www运行的,而其对应目录很多时候有写日志或其它相关写文

使用expect进行 rsync进行服务器同步备份

使用expect去除交付过程,达到能够实现服务器同步备份 第一:安装expect 检查是否已安装expect rpm -qa | grep tcl tclx-8.4.0-5.fc6 tcl-8.4.13-4.el5 第二:安装expect 下载地址: http://dl.oschina.net/soft/expect 检查tcl的安装位置 rpm -qa|grep tcl 需要安装tcl-devel rpm -ivh   tcl-devel-8.4.13-4.el5.x86_64.rpm 解压e