专栏首页小狼的世界Fedora 10 下rsync的配置和使用

Fedora 10 下rsync的配置和使用

rsync是一个提供快速增量文件传输的开源工具。其基于GNU General Public License 发布,目前主要有 Wayne Davison (http://opencoder.net/)维护。

通过他所提供的功能,rsync是一个用来做备份或者镜像的理想工具。

2009年的5月8好,rsync 3.0.6版本发布,本文所做的配置和实验就是基于这个本版,系统环境为Fedora 10。

rsync介绍

rsync是一个Unix系统的的文件传输程序,通过使用“rsync 算法”,提供远程文件同步的快速方法。顾名思义,rsync就是 remote sync。通过过程中,只是发送发生改变的文件,而不是发送全部的内容。

他的特性如下:

1、可以更新整个目录树和文件系统;

2、可以保留文件的软链接、硬链接、权限信息、属主信息、设备和时间信息;

3、无须特殊权限即可安装;

4、内部的流水线提高了多文件传输的速度;

5、可以使用ssh、rsh或者socket链接进行传输;

6、支持匿名传输;

rsync安装

rsync的安装通过了Fedora的yum源,yum install rsync.i386 即可安装。

rsync工作原理

在两台电脑间同步数据时,必须设置其中一台安装"rsync server"(rsync必须以daemon的方式运行,关于daemon,可以参考后面的资料),同时配置 /etc/rsyncd.conf。

有了一台rsync服务器以后,我们就可以向其他多台机器上同步数据,来建立数据的备份或者镜像。由于使用了“同步算法”和文件比较压缩机制,所以rsync的工作效率非常高。

使用rsync离不开ssh(如果对于ssh不熟悉的,可以参考资料中的链接)。

服务器配置

通过配置一个rsync服务器,我们就可以将他的文件同步回来,如果在两台机器上都配置了rsync服务,我们就可以实现双向的同步。rsync作为daemon运行有两种方式,一种是通过inet daemon,一种是采用单独运行的方法。

建议使用单独运行的方法,通过一个cron来定期的同步文件,这种方法可以应对比通过inet方式大得多的访问量。

rsync的配置文件存放在 /etc/rsyncd.conf中,下面是一份样例:

motd file = /etc/rsyncd.motd

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

[simple_path_name]

   path = /rsync_files_here

   comment = My Very Own Rsync Server

   uid = nobody

   gid = nobody

   read only = no

   list = yes

   auth users = username

   secrets file = /etc/rsyncd.scrt

下面来介绍下这个配置文件,第一行是message of the day(motd),文件内的内容会在用户进行连接的时候显示。第二个文件显而易见是日志文件,记录程序执行的日志。

PID文件包含了程序执行的进程ID(Process ID)。Lock文件用来确保rsync daemon能够正常运行。写在这里的选项是全局的,也就是对所有的rsync 目录都生效。

从方括号中path以下的部分,属于局部的配置,只对与在这个目录下的请求生效,方括号中的路径不需要是完整的路径,他只相当于一个别名。真正的目录写在path变量中,如果你怕时间长了记不住这个目录存放的内容,可以在comment中做一下备注。

配置完成这两项以后,rsync就可以使用了,但是这时你的服务是不安全的,他是wide open to the world的,所以你还需要在安全方面进行一些加强。

rysnc提供了用户验证和地址验证两种方式

auth users 存放允许访问的用户名, secrets file 存放访问的密码,文件内容很简单,形式为 username:password。

如果希望通过地址来限制访问,则需要添加 hosts allow 和 hosts deny。

使用Rsync

使用rsync的方式很简单,对于没有用户权限限制的访问,如下:

rsync -rv 10.210.141.125::path_name /home/cipher/rsyncdata/

就可以同步服务器上的文件了。

如果需要设置rsync的密码文件,需要对该文件的权限特别注意,文件的属主必须为root:root,而且文件权限为600,即不能被其他人读取。

rsync的选项很多,灵活运用这些选项我们就能够完成各种各样的同步需求,最常用的有 -r 递归、-l 同步链接、 -t 同步文件时间(这个选项需要确保两台服务器的时间同步)、-p 同步权限

--exclude 同步中不包括某些文件。

如果你想了解更多的配置选项,可以通过 man rsyncd.conf 来了解更多的内容。

诸如rsync的man page

参考资料

1、rsync home        http://www.samba.org/rsync/

2、about daemon        http://www.adamjiang.com/blog/archives/599

3、about ssh            http://kimmo.suominen.com/docs/ssh/

4、rsync man page    http://www.samba.org/ftp/rsync/rsync.html

5、ma rsyncd.conf    http://www.samba.org/ftp/rsync/rsyncd.conf.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Rsync服务介绍与配置

    rsync 是一个用于增量文件传输的开源工具,不得不说,rsync简直是不同服务器间传输文件、同步文件的利器。与FTP相比,它具有非常简单的安装和配置方法。而且...

    大江小浪
  • [每天五分钟,备战架构师-11]数据库系统

    数据挖掘就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的,但又是潜在有用的信息和知识的过程。

    大江小浪
  • 基于Mapabc API的周边查询应用

    现在,越来越多的 Location Based 应用,或者Geolocation的应用出现在网络、手机等各种各样的终端上,为人们的日常生活、出行和工作都提供了不...

    大江小浪
  • AIX环境下文件远程传输复制工具--rsync安装测试

      rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的“rsync算法...

    loong576
  • rsync简介

    Rsync是一个命令行实用程序,它将文件和文件夹从一个位置同步到另一个位置。可以使用rsync实现的一些工作流程是从开发计算机更新生产主机,或使用cron作业调...

    Aurora47
  • rsync+sersync数据同步

    Author: Andrew Tridgell, Wayne Davison, and others

    胡齐
  • rsync配置守护进程进行同步

    rsync的配置文件是/etc/rsyncd.conf。注意这个文件默认是不存在的,需要手动创建。

    fanspring
  • 001.Rsync简介及使用

    Rsync是Linux系统中的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上。rysnc不仅仅能对不同位置的文件和目录进行同步,...

    木二
  • rsync配置

    rsync error: error starting client-server protocol (code 5) at main.c(1648) send...

    陈雷雷
  • Linux学习笔记之rsync配置

      Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘...

    Jetpropelledsnake21

扫码关注云+社区

领取腾讯云代金券