• Rsync数据同步服务


    一、srync三种操作方式

     

    1、本地间传输相当于cp命令

    例1:将etc/hosts推送到/tmp下 rsync /etc/hosts /tmp 
    【1.1】数据同步 
    源文件追加内容:echo “'hostname -I' www.yunjisuan.com”>> /etc/hosts 
    【1.2】同步数据(只同步目标文件没有得内容)rsync /etc/hosts /tmp 
    例2:目录推送 
    【2.1】将根下得bent目录推送到/tmp下 rsync -avz /root/bent /tmp 
    【2.1】删除目标目录比原目录多于得数据 参数:--delete 
    删除/tmp下多余得数据,使目标目录与原目录完全一致。rsync -avz /root/bent /tmp/ --delete

     

    特别提示:请注意以下两条命令的差别:

    【1】rsync -avz /opt/ /tmp/ 
    【2】rsync -avz /opt /tmp/ 
    /opt/的意思是,仅把/opt/目录里面的内容同步过来,opt目录本身并不同步;而后者【2】中/opt表示把opt本身及其内部内容全都同步到/tmp下,仅一个/(斜线之差),意义大不相同,请同学们注意使用的差别。 
    在后边要讲的通过远程shell进行数据传输的内容也会有类似的问题,请牢记。

     

    2、远程传输

    准备事项:要用多台虚拟机。需要装远程传输得插件包也就是ssh得远程支持包(如果本机有scp命令则支持远程传输,如果没有则需安装openssh-clients)。必须知道对方root用户得密码。默认传输得是22端口,如果对方不是22端口,则需指定对方端口号进行远程同步。远程连接得配置文件 /etc/ssh/sshd/config 
    例1:将本地服务器得数据推送到另一台服务器上 rsync -avz /root/bent root@192.168.200.103:/tmp 
    说明: 
    root@192.168.200.103表示对方服务器得登录地址 
    表示为指定对方服务器得存放位置

     

    3、多组服务器之间,以socket进程得方式启动rsync进程进行监听

    【3.1】连接原理:客户端要告诉服务端两点,1、要推送给配置文件的哪个模块,服务端就会按照要求放在相应的位置。2、需要验证每个模块下的用户名和密码。 
    【3.2】操作流程---服务端设置

    1、手动写rsync得配置文件,vim/etc/rsyncd.conf 
    下图为模板: 
    image_1cr56jorcqa72au1lqqrdd1acl1g.png-47kB

    uid = rsync
    gid = rsync
    use chroot = no
    max connections = 200
    timeout = 300
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    log file = /var/log/rsyncd.log
    
    [backup]
    path = /backup/
    ignore errors
    read only = false
    list=false
    hosts allow = 192.168.200.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    
    
     2、创建共享目录/backup
     3、添加程序用户 useradd -M -s /sbin/nologin rsync
     4、启动服务 rsync --daemon
     5、更改共享目录的属主 chown -R rsync.rsync /backup
     6、创建rsync虚拟账号和密码
     echo "rsync_backup:123456" >> /etc/rsync.password
     7、将账号密码文件的权限设置为600  chmod 600 /etc/rsync.psaaword
     8、加入开机自启动 echo "rsync --daemon" >> /etc/rc.local
     9、关闭防火墙 service iptables stop
    

    【3.3】操作流程---客户端设置

    1、创建密码文件 echo "123456" > /etc/rsync.password
    2、设置密码文件权限为600 chmod 600 /etc/srync.password
    
     

    4、同步测试

    【4.1】将客户端指定目录内容推送到服务器端rsync指定目录下  rsync -avzP /backup/ rsync_backup@192.168.197.129::backup --password-file=/etc/rsync.password
    命令说明:
    -avz:保持稳健各项属性不变,-v显示同步信息 -P显示具体同步过程
    /backup/:要推送的内容所在目录
    rsync_backup:服务器端rsync服务的同步的用户名(非Linux用户)
    192.168.197.129:rsync服务器IP地址
    backup:rsync服务器配置文件里的模块名
    --password-file=/etc/rsync.password:免密码的操作,指定密码文件位置,如果不写,则会要求用户交互式输入密码。(如果想挂定时任务,必须得非交互式)
    

    注意事项: 
    1、远程同步时需要关闭防火墙 service iptables stop 
    2、重启rsync服务的方法: 
    【2.1】pkill rsync 关闭 
    【2.2】rsync --daemon 启动 
    3、rsync的socket进程监听873端口

  • 相关阅读:
    jquery.validate.js【简单实用的表单验证框架】
    velocity.js实现页面滚动切换效果
    站在巨人的肩膀上——制作酷炫web幻灯片
    简单说说随机打乱数组的方法
    JS数据结构之BinarySearchTree
    做一个extjs的扩展
    【OneAPM】极客编程挑战#025:发挥想象生成漂亮炫酷的SVG动画效果
    将博客搬至CSDN
    练习作品7:批量做字库 识别码
    联系作品6 模版打印 奖状
  • 原文地址:https://www.cnblogs.com/mendermi/p/9904677.html
Copyright © 2020-2023  润新知