• 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 #将远程主机内容拉取到当前主机(需要安装远程支持包)

     
  • 相关阅读:
    HTTP RFC解析
    Symfony框架的笔记
    Swoole学习总结1
    PHP Socket 学习笔记一
    Js解决解除多次Ajax请求的事件
    Python 操作串口
    python 实现微信自动回复和好友签名分析
    杂谈1
    Vue.js 功课1
    微信API demo
  • 原文地址:https://www.cnblogs.com/linyaonie/p/9863214.html
Copyright © 2020-2023  润新知