当前位置: > CentOS > CentOS服务器 > 文件同步 >

Linux CentOS下使用rsync实现文件备份及同步

时间:2014-11-20 22:14来源:linux.it.net.cn 作者:IT

Linux下rsync是一个非常使用的文件备份和同步的软件。rsync软件通过“rsync算法”快速实现文件的传输。很多数据使用这个软件来实现同步的。例如:WEB站点CDN的镜像同步;远程数据库备份;网站目录同步及备份等等都是可以的。

rsync是什么呢?看——rsync(remote synchronize)是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限、时间、软硬链接等附加信息。rsync 包括如下的一些特性:

能更新整个目录和树和文件系统;
对于多个文件来说,内部流水线减少文件等待的延时;
能用rsh、ssh 或直接端口做为传输入端口;
有选择性的保持符号链链、硬链接、文件属于、权限、设备以及时间等;
对于安装来说,无任何特殊权限要求;
支持匿名rsync 同步文件,是理想的镜像工具。

下面就简单介绍下Linux下如何使用rsync这个软件实现文件的同步。其实配置使用还是非常简单的。Linux下还可以使用一些脚本来实现rsync自动备份和同步文件。这也是Linux下一个非常灵活的应用。当然,在Windows下也是同样可以实现自动的。Windows下有个计划任务的嘛。开源和闭源各有各的好处,这里不再赘述。看下面简单应用:

环境:VMware 9.0 两台CentOS6.3虚拟系统主机

1.安装rsync软件(不解释)配置本地yum库——- yum install xinetd rsync -y

2.配置rsync服务端:

\
 

rsync服务端配置

是不是很简单呢?确实是的,不过rsync的使用还有非常多的参数,来实现对文件的同步校验,传输方式控制等等。这里本人能力有限,不能进一步进行诠释。

3.客户端同步服务端的文件:

\
 

服务端的文件

好,就这样,你也可以写一个脚本定时启动这个文件同步的动作来实现数据的同步及备份,这里来个示例:

在客户机/home目录下些个脚本bak.sh

#!/bin/sh

rsync -Rav –password-file=/etc/rsyncpw rsync@192.168.2.125::rsynctest /home

done

chmod 755 bak.sh (给脚本可执行的权限)

定时执行上面脚步:

crontab -e

3600 * * * * /home/bak.sh

非常简单吧,就这样,实现远程数据文件的同步和备份,方便快速。其实觉得很多CDN也都可以这样实现网站镜像的同步的,只是执行的脚步不同。可以写成是触发式的。




(责任编辑:IT)
------分隔线----------------------------