zoukankan      html  css  js  c++  java
  • Rsync数据同步服务

    Rsync数据同步服务

    Rsync软件适用与unix/linux/windows等多种操作系统平台

    Rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具,可以实现删除文件或目录的功能 
    它的功能可以排除以后在复制,可以保持原文件目录的权限,时间,软硬链接,属主,属组等属性均不改变也就是cp -p的功能

    增量同步就是只同步变化的数据,可以通过ssh远程数据传输,也可以通过socker进程数据传输,支持匿名或加密数据传输

    Rsync三大类:1,本地间类似cp命令的数据同步 2.网络间两台不同IP服务期间数据传输 3.以socker进程监听的方式启动rsync server端

    rsync -avzP -e 'ssh -p 22' 如下 --delet:删除参数,只能删除目录里的文件 --bwlimit=100:限速参数,等于多少就是限速多少

    a代表递归复制,v代表显示传输信息,z代表高效的传输效率,-e代表指定端口传输,不写代表默认22端口,-P保持文件所有属性不变

    rsync -avz 源目录 root@目标IP:放到什么目录下 --> 不同IP服务间数据传输,需要安装远程支持包(openssh-clients也就是scp命令和rsync命令)

     

    Rsync缺点

    要有众多小文件的话只能一个一个比对在推送,所以一般都是把整个目录打包以后在推送

     

    远程复制命令

    ssh IP地址:远程登陆系统用户,不写root@代表默认,普通用户必须写用户

    scp -P:远程复制命令,不写-P默认端口22,不写代表指定多少端口 rsync:远程同步复制命令

    /etc/ssh/sshd_config:sshd远程端口配置文件,端口号在13行 rsync监听873端口

     

    Rsync服务搭建

    Rsync服务端先检查有没有rsync软件包,手动创建vim /etc/rsyncd.conf文件默认不存在,vim编写

     

    用户

    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

     

    可读可写(true或false)

    read only = false

     

    阻止远程列表(不让通过远程方式看服务端有啥)

    list=false

     

    允许IP

    hosts allow = 192.168.200.0/24

     

    禁止IP

    hosts deny = 0.0.0.0/32

     

    虚拟用户

    auth users = rsync_backup

     

    存放用户和密码的文件

    secrets file = /etc/rsync.password


     

    Rsync搭建过程

    useradd -M -s /sbin/nologin rsync #创建rsync用户

    mkdir /backup #创建共享目录

    rsync --daemon #启动服务

    chown rsync /backup #/backup文件夹更改属主rsync

    echo "rsync_backup:123456" >/etc/rsync.password #创建rsync虚拟账户名和密码

    chmod 600 /etc/rsync.password #将账户密码文件的权限设置为600(必须否则失败)

    echo "rsync --daemon" >> /etc/rc.local #加入开机启动(可加可不加)

    pkill rsync #关闭rsync服务

    rsync --daemon #启动rsync服务

     

    Rsync客户端先检查有没有rsync软件包

    echo "123456" > /etc/rsync.password #手动创建密码文件

    chmod 600 /etc/rsync.password #将密码文件的权限设置为600(必须否则失败)

     

    Rsync同步测试

    rsync -avz /backup/ rsync_backup@192.168.200.xxx::backup --password-file=/etc/rsync.password

    命令说明: 
    -avz:保持稳健各项属性不变 
    -a归档模式,表示以递归方式传递文件 
    -z传输时进行压缩以提高传输效率 
    -v显示进度信息 
    --delet实时同步 
    -P完全同步 
    ,保持所有属性不变 
    /backup/:要推送的内容所在目录 
    rsync_backup:服务器端rsync服务的同步的用户名(非Linux用户) 
    192.168.200.xxx:rsync服务器IP地址 
    backup:rsync服务器配置文件里的模块名 
    --password-file=/etc/rsync.password:免密码的操作,指定密码文件位置,如果不写,则会要求用户交互式输入密码。(如果想挂定时任务,必须得非交互式)

     

    Rsync指定端口推送

    rsync -avzP -e 'ssh -p 22'/etc/ root@192.168.197.129:/tmp/ #将当前主机内容推送到远程主机(需要安装远程支持包)

    rsync -avzP -e 'ssh -p 22' root@chensiqi2:/opt /tmp #将远程主机内容拉取到当前主机(需要安装远程支持包)

  • 相关阅读:
    POJ 2251 Dungeon Master
    HDU 3085 Nightmare Ⅱ
    CodeForces 1060 B Maximum Sum of Digits
    HDU 1166 敌兵布阵(树状数组)
    HDOJ 2050 折线分割平面
    HDU 5879 Cure
    HDU 1878 欧拉回路
    HDU 6225 Little Boxes
    ZOJ 2971 Give Me the Number
    HDU 2680 Choose the best route
  • 原文地址:https://www.cnblogs.com/A6666/p/9995454.html
Copyright © 2011-2022 走看看