码迷,mamicode.com
首页 > 系统相关 > 详细

linux下rsync的配置以实现文件夹的同步

时间:2015-08-11 19:11:29      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:linux   文件夹   file   

linuxrsync的配置以实现文件夹的同步

http://blog.csdn.net/cymm_liu/article/details/31347531

目标:把[88]_A主机的/data/home/web同步到[27]_B主机的/data/home/qy目录

B主机作为rsync服务器

#检查系统是否安装了rsync软件包
[root@Hammer home]# rpm -qa |greprsync                 
rsync-2.6.9
如果没有,就去yum 或者aptget install或者去官网服务器上下一个

1.        ◆自定义启动方式,配置如下:

新建或配置rsyncd.conf
[root@test etc]# vim rsyncd.conf

uid = www

gid = www

use chroot = no

port = 873 

max connections = 10

pid file = /var/run/rsyncd.pid

#log file = /var/log/rsyncd.log

hosts allow = 110.163.200.119

hosts deny = *

## 上面这段是全局配置,下面的模块可以有多个

[web]

path = /data/home/qy/

ignore errors = yes

read only = no

write only = no

list = no

auth users = www

secrets file = /etc/rsync.pass

##以上配置说明:

#port可以不加,因为默认为873端口,可以改为其它端口

#auth users同步验证时用什么账号,这个用户和/etc/password没有关系的。

#secrets file 存放rsync明文密码的文件,为安全起见,此文件权限修改为600,实例:wei:huashuo_rsync,中间不可有空格只用冒号隔开。

#"[qy]"是自定义的模块名,这里相当于一个区分符,如果要同步多个文件夹就在这里区分,英文名叫做module,注意目录权限

配置自动启动vi /etc/rc.d/rc.local
/usr/bin/rsync --daemon --config /etc/rsyncd.conf

◆系统默认启动方式:

添加rsync服务脚本
vi /etc/xinetd.d/rsync
#disable=yes改为no

service rsync
{
        disable = no
        socket_type     =stream
        wait            =no
        user            =root
        server          =/usr/bin/rsync
        server_args     =--daemon
        log_on_failure  +=USERID
}
RHEL默认有安装rsync,编辑/etc/xinetd.d/rsync 后用service xinetd restart 来启动。

A主机当作客户端,配置

2.        web.rsync.sh文件脚本:

#!/bin/sh

##定义条件

hosts="110.144.80.16"

src="/data/home/web/"

exclude_files="/usr/mybin/qy.exclude.ini"

module=web

user=www

##把本地src目录同步到rsync服务器模块的路径,ini文件指定过滤不同步的地方,“web”模块就是ysync服务器端定义的名称

/usr/local/inotify/bin/inotifywait -mrq--timefmt ‘%Y-%m-%d %H:%M:%S‘ --format ‘%T %w%f %e‘ \

-e close_write,delete,create,attrib $src| while read files

do

   for i in $hosts

   do

   /usr/bin/rsync -vzrtopg --exclude-from=$exclude_files --delete--progress --password-file=/etc/client.rsync.pass $src $user@$i::$module

   EXITCODE=$?

   if [ $EXITCODE != 0 ]; then

       echo "${files} rsync error:"$EXITCODE >>/var/log/inotify.log 2>&1

       break

   fi

   done

done

#/etc/client.rsync.pass文件里只放rsync服务器的密码

创建过滤不同步的文件

vi /usr/mybin/qy.exclude.ini

*.zip

*.gz

*.tar.gz

*.sql

*.tgz

*.rar

log/*

i/tmp/*

blog/

memcached/

system/conf_main.php

启动自动同步脚本

nohup /root/web.rsync.sh >>/dev/null 2>&1 &


linux下rsync的配置以实现文件夹的同步

标签:linux   文件夹   file   

原文地址:http://kekuk.blog.51cto.com/326101/1683668

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!