centos 5.6配置rsync服务器

一、rsync服务器配置

1 安装xinetd、rsync软件包

         yum -y install xinetd rsync
  2 将rsync启动控制交给xinetd
  vi /etc/xinetd.d/rsync
  将disable = yes  更改为  disable = no
  3 创建rsync配置文件
  vi /etc/rsyncd.conf 添加
  uid = root         #指定该模块传输文件时守护进程应该具有的uid 
  gid = root #指定该模块传输文件时守护进程应该具有的gid 

port = 873 #rsync侦听的端口号
  use chroot = yes

strict modes = yes
  max connections = 4        #客户端最大连接数,默认0(没限制) 

secrets file = /etc/rsyncd.secrets    # 指定帐号和密码的认证口令文件位置 
  pid file = /var/run/rsyncd.pid #rsyncd.pid 存放的文件位置 
  lock file = /var/run/rsyncd.lock
  log file = /var/log/rsyncd.log #rsync 存放的日志文件位置
  [upload]        # 这里是认证的模块名,在client端需要指定 
  path = /data/upload        # 需要发布的数据文件目录 

auth users = linus_hai      #认证的用户名,如果没有这行,则表明是匿名  
  comment = used for user upload data
  read only = no  #no客户端可上传文件,yes只读 

#write only = no           #no客户端可下载文件,yes不能下载 
  hosts allow = 192.168.1.13     #允许指定的主机连接

#hosts deny = 192.168.1.100      #禁止指定的主机连接 
  [download]
  path = /data/download
  comment = used for user download file
  read only = yes
  hosts allow = 192.168.1.13
  4创建密码文件

echo "linux_hai:123456">/etc/rsyncd.secrets
  chmod 600 /etc/rsyncd.secrets#注意确保是在这个文件是600权限,否则同步无法进行

   
  5重新启动xinetd 让rsync配置生效
  service xinetd restart

/usr/bin/rsync --daemon 

    

当出现上面现象时表示该文件已存在,必须先杀死进程才可以重新启动,方法如下:

    # 要 Kill rsync 进程,不要用 kill -HUP {PID} 的方式重启进程。

    # ps -ef|grep rsync|grep -v grep|awk '{print $2}'|xargs kill -9

#也可以用 # cat /var/run/rsyncd.pid | xargs kill -9

    使用指令     rm -rf /var/run/rsyncd.pid

    # /usr/bin/rsync --daemon

查看rsync侦听端口873

  

6 增加rsync开机自动启动该服务

vim /etc/rc.d/rc.local

/usr/bin/rsync --daemon  

二、Linux和windows之间实现数据同步

(1)在windows 2003客户机安装rsync软件

      

创建一个密码存放的文件   如:G:\backup\backup.pass

(2)打开cmd,执行如下操作

 

 

  #实现从客户机上传数据到服务器的指定目录

  rsync.exe -avtopg <G:\backup\backup.pass /cygdrive/g/SogouWBInput [email protected]::upload/

  #实现从服务器下载数据到客户机的指定目录

  rsync.exe -avtopg <G:\backup\backup.pass [email protected]::download/ /cygdrive/g/

3)在windows下编写一个脚本后缀为.bat的批处理文件,运行该文件即可完成数据同步操作。

#设置日期时间

set year=%date:~0,4%

set month=%date:~5,2%

set day=%date:~8,2%

set today=%year%%month%%day%

#进入安装目录

D:

cd Program Files

cd cwRsync

cd bin

#实现从客户机上传数据到服务器的指定目录

rsync.exe -avtopg <G:\backup\backup.pass /cygdrive/g/SogouWBInput [email protected]::upload/

#实现从服务器下载数据到客户机的指定目录

rsync.exe -avtopg <G:\backup\backup.pass [email protected]::download/ /cygdrive/g/

   

4)把脚本放到任务计划里实现定期执行数据同步     

三、linux和linux之间实现数据同步

(1)Linux客户端同样也需要安装rsync这个软件包

创建密码文件(这里的密码必须与服务器上/etc/rsyncd.secrets文件里面的密码相同):

vim /etc/password.pass 

123456

并保证这个文件的权限是600,否则会同步出错

chmod 600 /etc/password.pass 

(2)实现数据同步:

 从服务器下载数据到本地:

rsync -vzrtopg --progress --delete --password-file=/etc/password.pass [email protected]::download /data7

从本地上传数据到服务器:

rsync -vzrtopg --progress --delete --password-file=/etc/password.pass /data7/test [email protected]::upload    

如果出现以上错误,原因是防火墙阻挡了rsync这个服务

解决办法:打开rsync的873端口

iptables -I RH-Firewall-1-INPUT -p tcp -m state –state NEW -m tcp –dport 873 -j ACCEPT

iptables -I RH-Firewall-1-INPUT -p udp -m state –state NEW -m udp –dport 873 -j ACCEPT

(3)制定计划任务:

vim backup.sh

#/bin/bash

rsync -vzrtopg --progress --delete --password-file=/etc/password.pass [email protected]::download /data7  

rsync -vzrtopg --progress --delete --password-file=/etc/password.pass /data7/test 

[email protected]::upload

添加定时任务:

crontab -e

* * * * 5 /root/backup.sh > /dev/null 2 >& 1  

rsync -vzrtopg --delete --exclude "count/" --exclude "welcome.html" --progress  192.168.0.1::imdac /cygdrive/d/imdac

命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。--exclude "count/" 表示不对count目录下的文件进行备份。--exclude "welcome.html" 表示不对welcome.html文件进行备份。

  

你可能感兴趣的:(centos,服务器,rsync配置)