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 条评论
登录 后参与评论

相关文章

来自专栏惨绿少年

练习题三

第1章 练习题 1.1 第1题 取得/etc/hosts 文件的权限 如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r--  为 64...

2280
来自专栏IT笔记

Nginx学习之HTTP/2.0配置

哎呀,一不小心自己的博客也是HTTP/2.0了,前段时间对网站进行了https迁移并上了CDN,最终的结果是这酱紫的(重点小绿锁,安全标示以及HTTP/2.0请...

39714
来自专栏静下来

解决ssh出现Host key verification failed错误的方法

image.png ssh登陆Linux服务器的时候,如果出现了Host key verification failed的错误,需要清空下本地ip密码记录。 出...

3697
来自专栏云计算教程系列

为你的服务器增加Swap分区

避免应用程序内存不足错误的最简单方法之一是为服务器添加一些Swap空间。Swap分区在系统的物理内存不够用的时候,把物理内存中的一部分空间释放出来,以供当前运行...

3815
来自专栏后端云

Raft算法和Gossip协议

raft 集群中的每个节点都可以根据集群运行的情况在三种状态间切换:follower, candidate 与 leader。leader 向 follower...

4453
来自专栏前端杂货铺

支持多用户web终端实现及安全保障(nodejs)

背景 terminal(命令行)作为本地IDE普遍拥有的功能,对项目的git操作以及文件操作有着非常强大的支持。对于WebIDE,在没有web伪终端的情况...

3195
来自专栏前端正义联盟

gitflow 开发流程学习(第一部分)

3477
来自专栏Albert陈凯

Hadoop离线数据分析平台实战——380MapReduce程序优化Hadoop离线数据分析平台实战——380MapReduce程序优化

Hadoop离线数据分析平台实战——380MapReduce程序优化 项目进度 模块名称 完成情况 用户基本信息分析(MR)� 完成 浏览器信...

3378
来自专栏潘嘉兴的专栏

手把手教你如何优化linux服务器

服务器的优化是我们最小化安装系统后应该做的事情,下面是一些常见的基本的优化服务器的方法。关闭不需要的服务。列出需要启动的的服务crond、network、ssh...

6410
来自专栏北京马哥教育

Linux 系统结构详解

Linux系统一般有4个主要部分: 内核、shell、文件系统和应用程序。内核、shell和文件系统一起形成了基本的操作系统结构,它们使得用户可以运行程序、管...

6123

扫码关注云+社区

领取腾讯云代金券