设为首页 收藏本站
查看: 459|回复: 0

[经验分享] linux下rsync的配置以实现文件夹的同步

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-12 09:09:19 | 显示全部楼层 |阅读模式
目标:把[88]_A主机的/data/home/web同步到[27]_B主机的/data/home/qy目录
B主机作为rsync服务器#检查系统是否安装了rsync软件包
[iyunv@Hammer home]# rpm -qa |greprsync                 
rsync-2.6.9
如果没有,就去yum 或者apt-get install或者去官网服务器上下一个
1.        ◆自定义启动方式,配置如下:
新建或配置rsyncd.conf
[iyunv@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 &



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-97729-1-1.html 上篇帖子: Webmin version 1.760 is now available, but you are running version 1.730. 下篇帖子: svn自动提交WEB应用代码 linux 文件夹
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表