taoCMS是基于php+sqlite/mysql的国内最小(100Kb左右)的功能完善、开源免费的CMS管理系统

Rsync数据同步

2010-12-28

介绍 
Rsync(remote sync)是类unix系统下的数据镜像备份工具,支持大多数的类unix系统,无论是Linux、Solaris还是BSD,都经过了的测试,现在也有支持windows下的rsync(cwRsync)也已经测试通过,rsync 是一个节约带宽的备份方案,不像传统的 ftp 会下载所有的文件,不管是否有更新,而 rsync 只下载那些做了更新的数据。它的特性如下:

          ●.可以镜像保存整个目录树和文件系统。
          ●. 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
          ●. 无须特殊权限即可安装。
          ●. 优化的流程,文件传输效率高。
          ●. 支持匿名传输

何时选择Rsync 
通过ssh用tar 为文件系统的某部分建立远程副本是非常理想的,而rsync则更适合用来使两台机器之间保持文件系统的同步。一般说来,tar 用于最初的副本,而rsync 则用于获取自最后一份副本以来所发生的更改。这是因为不存在任何目标文件时,tar 可能比rsync 速度更快,但是当两个文件系统之间的差异很小时,rsync 会比tar 快得多


Rsync 安装 
安装环境:FreeBSD 6.0-RELEASE
所需软件:rsync-2.6.7.tar.gz
安装路径:/usr/local/rsync
下载地址:http://rsync.samba.org/ftp/rsync/rsync-2.6.7.tar.gz (740K)
安装过程:
tar xvzf rsync-2.6.7.tar.gz
cd rsync-2.6.7
./configure --prefix=/usr/local/rsync
make
make install

参数说明:--prefix 指定rsync要安装的目录.
至此,安装过程就结束了

Rsync配置
/etc/rsyncd.conf (默认是没有的,可以手工创建)
#全局选项
strict modes =yes                        #是否检查口令文件的权限
port = 873                               #默认端口873
log file = /var/log/rsyncd.log           #日志记录文件

pid file = /usr/local/rsync/rsyncd.pid   #运行进程的ID写到哪里

#模块选项
[test]                                   # 这里是认证的模块名,在client端需要指定
max connections = 5                      #客户端最大连接数,默认0(没限制)
uid = livedoorcn                         #指定该模块传输文件时守护进程应该具有的uid 
          gid = livedoorcn               #指定该模块传输文件时守护进程应该具有的gid 
          path = /home/rsync_test        # 需要做备份的目录
          ignore errors                  # 可以忽略一些无关的IO错误
          read only = no                 #no客户端可上传文件,yes只读
          write only = no                #no客户端可下载文件,yes不能下载
          hosts allow = *                #充许任何主机连接
          hosts deny = 10.5.3.77         #禁止指定的主机连接
          auth users = livedoorcn        # 认证的用户名,如果没有这行,则表明是匿名
          secrets file = /usr/local/rsync/rsyncd.scrt    # 指定认证口令文件位置

    
生成rsync密码文件
在server端生成一个密码文件/usr/local/rsync/rsyncd.scrt 
       
       vi rsyncd.scrt
        ---------content----------
        livedoorcn:******
        ----------end-------------

注意:密码文件的权限,是由rsyncd.conf里的参数
strict modes =yes/no 来决定
Rsync 的启动
rsycn 的启动方式有多种,我们在这里介绍以下几种:
●. 守护进程方式:
/usr/local/rsync/bin/rsync --daemon
●.inetd方式:
在/etc/services中加入:
rsync           873/tcp
然后在/etc/inetd.conf中加入:
rsync   stream tcp     nowait root   /usr/local/bin/rsync rsyncd --daemon
●.加入rc.local(FreeBSD)
编辑/etc/rc.d/rc.local,在最后添加:
/usr/local/bin/rsync --daemon

验证启动是否成功
ps -aux |grep rsync
root       59120 0.0 0.2 1460   972 ?? Ss    5:20PM   0:00.00 /usr/local/rsync/bin/rsync –daemon

netstat -an |grep 873
tcp4       0      0 *.873                  *.*                    LISTEN

Rsync 客户端安装(我这里server和client是同一台机器) 
安装环境:FreeBSD 6.0-RELEASE
所需软件:rsync-2.6.7.tar.gz
安装路径:/usr/local/rsync
下载地址:http://rsync.samba.org/ftp/rsync/rsync-2.6.7.tar.gz (740K)
安装过程:
tar xvzf rsync-2.6.7.tar.gz
cd rsync-2.6.7
./configure --prefix=/usr/local/rsync
make
make install

参数说明:--prefix 指定rsync要安装的目录.
至此,安装过程就结束了

实例演示
cd /usr/local/rsync/bin
下载文件
./rsync -vzrtopg --progress --delete livedoorcn@10.5.3.98::test /tmp/rsync

上传文件
./rsync -vzrtopg --progress --delete /tmp/rsync livedoorcn@10.5.3.98::test
    
Rsync 同步参数说明
-vzrtopg里的v是verbose,z是压缩,r是recursive,
文章出处:http://www.diybl.com/course/6_system/linux/Linuxjs/200865/122445.html

[#]$ cat rsyncd.conf 
uid=root
gid=root
use chroot=no
max connections=4
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log

[all]
path=/opt/gzk.sdo.com/
ignore errors
read only=true
list=false
hosts allow=192.168.0.200
hosts deny=0.0.0.0/32
auth users=backup
secrets file=/etc/backserver.pas

类别:技术文章 | 阅读:241994 | 评论:0 | 标签:

想收藏或者和大家分享这篇好文章→

“Rsync数据同步”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

taoCMS发布taoCMS 3.0.2(最后更新21年03月15日),请大家速速升级,欢迎大家试用和提出您宝贵的意见建议。

捐助与联系

☟请使用新浪微博联系我☟

☟在github上follow我☟

标签云