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

[经验分享] rsync安装和配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-5-14 08:32:20 | 显示全部楼层 |阅读模式
说明:
   开发者提出要求:要将测试机94上的代码数据拷贝到线上服务器
   拷贝数据的方法有很多,比如:scp,cp等,但是像scp,cp这种工具在拷贝的时候会把所有数据都拷一遍,速度比较慢,而rsync在拷贝的时候只是拷贝不同的数据(也就是被改过的数据),所以这里使用rsync来进行线上数据的拷贝



环境:
   centos 6.4



步骤:
    注意:这里采用的是rpm包安装方式(源码方式,rpm方式都差不多)
    1、 服务端配置:
        注意:测试机94是服务端,而其他所有的线上服务器为rsync客户端
        [iyunv@scj ~]# yum -y install rsync
        [iyunv@scj ~]# rpm -ql rsync             #查看rsync包安装出了哪些文件
        /etc/xinetd.d/rsync                     #xinetd管理rsync
        /usr/bin/rsync
        /usr/share/doc/rsync-3.0.6
        /usr/share/doc/rsync-3.0.6/COPYING
        /usr/share/doc/rsync-3.0.6/NEWS
        /usr/share/doc/rsync-3.0.6/OLDNEWS
        /usr/share/doc/rsync-3.0.6/README
        /usr/share/doc/rsync-3.0.6/support
        /usr/share/doc/rsync-3.0.6/support/Makefile
        /usr/share/doc/rsync-3.0.6/support/atomic-rsync
        /usr/share/doc/rsync-3.0.6/support/cvs2includes
        /usr/share/doc/rsync-3.0.6/support/deny-rsync
        /usr/share/doc/rsync-3.0.6/support/file-attr-restore
        /usr/share/doc/rsync-3.0.6/support/files-to-excludes
        /usr/share/doc/rsync-3.0.6/support/git-set-file-times
        /usr/share/doc/rsync-3.0.6/support/logfilter
        /usr/share/doc/rsync-3.0.6/support/lsh
        /usr/share/doc/rsync-3.0.6/support/mnt-excl
        /usr/share/doc/rsync-3.0.6/support/munge-symlinks
        /usr/share/doc/rsync-3.0.6/support/rrsync
        /usr/share/doc/rsync-3.0.6/support/rsyncstats
        /usr/share/doc/rsync-3.0.6/support/savetransfer.c
        /usr/share/doc/rsync-3.0.6/tech_report.tex
        /usr/share/man/man1/rsync.1.gz
        /usr/share/man/man5/rsyncd.conf.5.gz
        [iyunv@scj ~]# vi /etc/xinetd.d/rsync                #修改文件,让xinetd来管理rsync
        将disable = yes 改为 disable = no
        [iyunv@scj ~]# yum -y install xinetd                 #安装xinetd,用来管理rsync
        [iyunv@scj ~]# vi /etc/rsyncd.conf                   #创建配置文件,默认是不存在的
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
uid = root
gid = root
user chroot = no
max connections = 200
timeout = 600
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/run/rsyncd.log
[data]
path = /data/
ignore errors
read only = no
list = no
hosts allow = 192.168.186.0/255.255.255.0
auth users = scj
secrets file = /etc/rsyncd.password



       注意:auth users = scj 这一行一定要有,否则任何账号不用密码都可以访问rsync服务端;这样就只有scj这一个账号可以访问了
        [iyunv@scj ~]# vi /etc/rsyncd.password             #创建密码文件,用户名:密码
1
scj:scj



        [iyunv@scj ~]# chmod 600 /etc/rsyncd.password      #密码文件的权限必须是600,否则会有问题
        [iyunv@scj ~]# mkdir /data                         #创建共享目录
        [iyunv@scj ~]# chkconfig xinetd on
        [iyunv@scj ~]# /etc/init.d/xinetd start            #启动rsync
        [iyunv@scj ~]# netstat  -tlnpa | grep 873          #rsync监听873端口
        tcp        0      0 :::873                      :::*                        LISTEN      13613/xinetd

    2、 客户端配置:
        注意:客户端只需要安装rsync,不需要启动rsync
        [iyunv@scj ~]# yum -y install rsync
        [iyunv@scj ~]# vi /etc/rsyncd.password              #创建密码文件,只需要写密码即可
1
scj



        [iyunv@scj ~]# chmod 600 /etc/rsyncd.password       #修改权限




使用:
   注意:所有的rsync同步数据的命令都是在rsync客户端执行的,无论任何时候
         在随便一台线上服务器进行以下操作:
         [iyunv@scj ~]# rsync -avz --password-file=/etc/rsyncd.password  scj@xxx.xxx.xxx.94::data /tmp/ceshi/
        注解:将服务端94,data模块下/data/目录的数据拷贝到本地的/tmp/ceshi/目录下
              -v, --verbose详细模式输出
              -a, --archive归档模式,表示以递归方式传输文件,并保持所有文件属性不变
              -z, --compress对备份的文件在传输时进行压缩处理
              --delete:删除那些DST中存在而在SRC中没有的文件
              --password-file:不用再交互式输入密码

         在每台线上服务器创建一个同步数据的脚本:
         [iyunv@scj ~]#mkdir -p  /var/scripts/rsync
         [iyunv@scj ~]# cd  /var/scripts/rsync
         [iyunv@scj rsync]# vi rsync.sh
1
2
3
4
5
6
7
8
9
#!/bin/bash
#同步94测试机数据到本地

passwdfile=/etc/rsyncd.password
user=scj
remoteip=192.168.186.129
dir=/tmp/ceshi/

/usr/bin/rsync -avz --password-file=$passwdfile  $user@$remoteip::data $dir



         [iyunv@scj rsync]# chmod 755 rsync.sh









附加:
    rsync作为拷贝工具的其他用法:
    [iyunv@scj ~]# rsync install.log /tmp/ceshi/          #将本地当前目录下的install.log 拷贝到/tmp/ceshi/ 目录下
    [iyunv@scj ~]# rsync -avz -e 'ssh -p2222'  root@192.168.186.129:/data /tmp/ceshi/    #当以ssh认证进行传输时,若ssh的端口不是22端口,而是2222端口,则用-e指定







运维网声明 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-66749-1-1.html 上篇帖子: linux启动出现reboot and select proper boot device 下篇帖子: centos 6.5 启动流程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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