rsync技术总结

rsync安装(服务器和客户端都要进行)

解压所下载的安装包

tar –xzvf 包名.tar

进入所解压的文件中

./configure

make

make install

服务器配置

案例说明,如192.168.1.237192.168.1.238两台服务 器,OScentos6.2,192.168.1.238当服务器,192.168.1.237client。当1.238文件删除时1.237 步删除,当1.238添加/修改时1.237同步修改。

1、              采用系统默认安装的rsync 编辑/etc/rsyncd.conf文件,如果没有则新建一个

  rsyncd.conf的内容:

  vi /etc/rsyncd.conf

 

strict modes = yes

port = 873

logfile = /var/log/rsyncd.log

pidfile = /var/run/rsyncd.pid

max connections = 4

[web]            //同步服务的名称,两个服务器要一致

uid = root                                                                                             

gid = root

path = /home/wwwroot/pmedia/images/tmp/                                              //同步路径

read only = no

host allow = *

auth users = wwyhy                        //认证用户名(不是系统用户)

secrets file = /etc/rsyncd.scrt                                   //密码文件

 

2.添加一个密码文件

  vi /etc/rsyncd.scrt

 

wwyhy:123456        //密码文件:验证用户名:验证密码

 

3.改变权限为600

chmod 600 rcyncd.scrt

 

4.启动服务(如开有防火墙请允许873端口通过)

rsync --daemon --config=/etc/rsyncd.conf

client配置

1.     client新建密码文件

vi /etc/rsyncd.scrt

123456

 

2.     修改权限

chmod 600 /etc/rsyncd.scrt

 

3.     开始同步

rsync -avz --delete  --password-file=/etc/rsyncd.scrt [email protected]::web /qq

(仔细观察这个命令的格式:rsync  –avz  --delete  --password-file=/etc/rsyncd.scrt  验证用户名@要同步文件的服务器地址::同步服务的名称  同步文件的目录 )

rsync  -avz  --delete 这句话的意思是服务进行什么动作客户,动作包括建立与删除文件夹,建议文件与修改文件,删除文件

写一个脚本,方便自动化

vi /root/rsync.sh

 

#!/bin/bash

while true

do

PATH1=/qq

rsync -avz --delete  --password-file=/etc/rsyncd.scrt [email protected]::web $PATH1 >> /var/log/rsync_client.log

#同步完成后休息5秒,再进行下一次同步

sleep 5

done       

#脚本是一个死循环,看着玩吧

运行脚本

nohup  ./root/rsync.sh &

这样就改成后面运行了,再关了窗口也无所谓了


中间遇到了两个问题:

1.client连接server报错

rsync failed Connection refused 111

 这个问题是由于我主机根本没有启动造成的,在普通用户下没有权限重启,只要切换到root用户启动即可,启动后可以通过
ps -ef|grep rsync查看当前进程是否启动。
netstat -ntpl查看端口
2.client启动报错
  1. @ERROR: auth failed on module input
  2. rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.7]
  这个问题我没有找到具体原因,最后在rsync模块的配置文件里,把strict modes设置为no,禁用文件mode检验,然后问题解决了。



以下为参考链接:
http://my.oschina.net/u/1013648/blog/207065
http://ju.outofmemory.cn/entry/27665
http://blog.sina.com.cn/s/blog_4da051a60101h8am.html

你可能感兴趣的:(rsync)