Chinaunix首页 | 论坛 | 博客
  • 博客访问: 310092
  • 博文数量: 163
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: -40
  • 用 户 组: 普通用户
  • 注册时间: 2017-03-08 00:28
文章分类

全部博文(163)

文章存档

2015年(2)

2014年(35)

2013年(28)

2012年(30)

2011年(22)

2010年(14)

2009年(8)

2008年(13)

2007年(11)

分类: LINUX

2013-02-16 16:31:16

Mars

MSN/Email:  hnynes@gmail.com


平时用得多的像代码管理,数据备份,多在同一台机器上,万一硬盘坏了,几乎无力回天,即使有很多都有备份,多数都是本地备份,因此都需要异地备份. 比较喜欢rsync,免费

以下也是查询了一些文章,然后真实操作后所写.


我的系统环境是CentOS 6.2

首先确认本机的rsync是否已经安装

rpm -qa | grep rsync

我的执行结果是 rsync-3.0.6-9.el6.x86_64
若没有安装,可以挂载光盘,再找到对应的RPM包,使用rpm -i安装. 也可以使用yum安装.


安装完后,就可以开始配置了.

创建rsync配置文件

vi /etc/rsyncd.conf


# Global configuration
secrets file = /etc/rsyncd.secrets   #存储密码的文件
motd file = /etc/rsyncd.motd        #显示欢迎信息
# no means user can upload files
read only = no
write only = no
# yes means user can list the directory
list = yes
uid = root
gid = root
max connections = 5
#hosts allow = 172.18.2.0/24
hosts allow = *
hosts deny = *
use chroot = no
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
#Component configuration

#注意此中括号中的名字,在传输数据的时候会用到.

[rsyncd] 
comment = backup directory
path = /opt/backup/x041201/svncode
auth users = rsync
secrets file = /etc/rsyncd.secrets

除了配置文件,还要创建配置文件中引用到的两个文件

secrets file = /etc/rsyncd.secrets   #存储密码的文件
motd file = /etc/rsyncd.motd        #显示欢迎信息

其中,显示欢迎信息的这个可以不启用,若不想使用,记得将此行注释掉.


设备随机启动服务.

chkconfig --list

在执行结果的最后有一段

******

xinetd based services:
        chargen-dgram:  off
        chargen-stream: off
        cvs:            off
        daytime-dgram:  off
        daytime-stream: off
        discard-dgram:  off
        discard-stream: off
        echo-dgram:     off
        echo-stream:    off
        rsync:          on
        swat:           off
        tcpmux-server:  off
        time-dgram:     off
        time-stream:    off

******

其中的rsync服务已经安装了,我的结果列表是我已经打开了.  这个就是控制rsync服务随机启动的,若你的列表中此项为off,可按下面的步骤修改即可.

vi /etc/xinetd.d/rsync

修改disable = yes 为disable = no


启动服务

service xinetd restart

至此,配置基本完成,可以使用客户端测试下:

我用的是windows下的cwrsync

先切换到cwrsync的bin目录下,再执行下面的命令

下载文件/目录:

rsync -vzrtopg --progress --delete --password-file=/cygdrive/e/code/rsync/conf/rsyncpass rsync@172.18.2.36::rsyncd /cygdrive/e/code/rsync/rsynctest

上传文件/目录:

rsync -vzrtopg --progress --delete /cygdrive/d/Code/SVNCodeBak rsync@172.18.2.36::rsyncd --password-file=/cygdrive/c/windows/rsyncpass

若没有遇到什么问题,基本上就配置结束了.


下载基本上不会有什么问题,但是上传这个可能还是会遇到一些问题的,如果提示是Permission denied.可以看下我的解决方法:

出现Permissions denied的提示时,一般我们都会先给linux上的对应目录加上写权限. 当作为这种操作后,再测试,发现上传还是一样的提示.这时就不知道如何整了.

一般linux上的se-linux都是开着的,这也是为了系统安全而做的,大家也应该去熟悉它,上面的这个问题就很有可能是se-linux造成的.

首先看下对于rsync有哪些与se-linux相关的设置

getsebool -a | grep rsync

执行结果:

allow_rsync_anon_write --> on
rsync_client --> off
rsync_export_all_ro --> off
rsync_use_cifs --> off
rsync_use_nfs --> off


我的结果列表中有一项write是开着的,这是我修改后的结果,若你的是关闭的,可以修改这个设置后再测试上传是否能成功. 执行此命令,可能会需要一点时间,我的机器用了30秒左右才完成.

setsebool -P allow_rsync_anon_write  on


当然你能搜索到很多与此篇类似的文章,里面有一些也会介绍到se-linux的问题,很多都是建立直接关闭掉,若是production机器,你真的敢关闭吗?

setenforce 0   #关闭se-linux,重启后失效.

永久关闭se-linux

vi /etc/selinux/config

将其中的  SELINUX=enforcing  修改为 SELINUX=disabled

以后重启,将不会再启用se-linux了

阅读(4448) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~