zoukankan      html  css  js  c++  java
  • Linux rsync 远程同步部署篇

    rsync官网:

    www.samba.org/ftp/rsync.html
    端口:873
    上机实战系列项目100台规模集群全网数据备份解决方案
    3、本项目提供免费实战讲解视频:
    Linux集群全网服务器数据备份解决方案实战视频
    http://edu.51cto.com/course/course_id-3497.html
    Linux环境:Rsync部署

    rysnc优缺点

    Linux环境:Rsync部署

    loacal---本地

    本地两个目录之间的拷贝和两个主机之间的拷贝,cp,scp
    用法(复制功能):
    rsync -vzrtopg /zfd/test.txt /tmp = cp /zfd/test.txt /tmp
    (删除功能):
    rsync -avz --delete ./tmp1/ /zfd/ 
    删除/zfd目录下多余的,只保留与./tmp1目录下有的数据一致并将./tmp1目录下有/zfd/目录下没有的复制到/zfd/目录下,即保持与./tmp1目录下数据一致就对了。
    增量备份的功能,数据备份,数据同步

    remote shell--ssh ---远端

    push命令:rsync -avz hosts.zfd -e "ssh -p 22" oldboy@10.0.0.31:~/sjcx/
    说明:将本地hosts.zfd 通过 ssh 传到 10.0.0.30oldboy用户~/sjcx/目录下
    参数:avz v-显示 z-压缩;-e 指通过ssh的方式,及管道;-p 端口

    rsync deamon---rsync服务端配置开始---

    uname -r ---查看系统
    cat /etc/redhat-release ---查看系统版本
    rpm -qa rsync --查看是否安装rsync
    yum install rsync -y ---安装rsync
    rsync --version ---查看rsync 版本
    vim /etc/rsyncd.conf ---配置rsyncd.conf文件,默认不存在,可man rsyncd.conf
    /etc/rsyncd.conf 内容:

    rsync_config----start
    uid = rsync ### 虚拟用户,远端的命令使用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/run/rsync.log   ## 日志文件 出错 
    
    [backup]        ## 模块名称     
    path = /backup  ## 服务器端提供访问的目录
    ignore errors   ## 忽略错误
    read only = false  ## 可写
    list = false       ## 不能列表 
    hosts allow = 172.16.1.0/24
    hosts deny = 0.0.0.0/32
    auth users = rsync_backup
    secrets file = /etc/rsync.password
    ##rsync_config----end
    
     [root@backup ~]# useradd rsync -s /sbin/nologin -M
    -s --指定登录
    -M--不建家目录,因为rsync 用户为虚拟用户
    [root@backup ~]# tail -1 /etc/passwd
    rsync:x:501:501::/home/rsync:/sbin/nologin

    一系列设置过程

    [root@backup ~]# rsync --daemon--起服务
    [root@backup ~]# ps -ef|grep rsync|grep -v grep --查看是否已起服务
    root       3223      1  0 06:25 ?        00:00:00 rsync --daemon
    
    [root@backup ~]# mkdir /backup    ---创建访问目录
    [root@backup ~]# ls -ld /backup/    ---查看属主属组
    drwxr-xr-x 2 root root 4096 Apr 22 06:27 /backup/
    
    [root@backup ~]# chown rsync.rsync /backup/    ---修改属主属组均为rsync 
    [root@backup ~]# ls -ld /backup/
    drwxr-xr-x 2 rsync rsync 4096 Apr 22 06:27 /backup/

    /etc/rsync.password 虚拟用户密码配置

    [root@backup ~]# vim /etc/rsync.password 
    rsync_backup:oldboy       ---格式: 用户:密码   --皆为明文
    
    [root@backup ~]# ls -l /etc/rsync.password  
    -rw-r--r-- 1 root root 20 Apr 22 06:34 /etc/rsync.password
    
    [root@backup ~]# chmod 600 /etc/rsync.password   --密码文件权限设置
    [root@backup ~]# ls -l /etc/rsync.password 
    -rw------- 1 root root 20 Apr 22 06:34 /etc/rsync.password
    
    [root@backup ~]# lsof -i :873    ---查看端口方式1,已知端口,查看服务
    COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
    rsync   3223 root    3u  IPv4  17843      0t0  TCP *:rsync (LISTEN)
    rsync   3223 root    5u  IPv6  17844      0t0  TCP *:rsync (LISTEN)
    [root@backup ~]# netstat -lntup|grep 873   --查看端口方式2
    tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      3223/rsync          
    tcp        0      0 :::873                      :::*                        LISTEN      3223/rsync          

    设置开机自启动

    [root@backup ~]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local  
    [root@backup ~]# tail -1 /etc/rc.local 
    /usr/bin/rsync --daemon

    排错

    cat /var/run/rsync.log

    rsync deamon---rsync服务端配置结束----

    rsync deamon---rsync客户端配置--------

    vim /etc/rsync.password ---客户端配置文件保存密码
    oldboy      ---只保留服务端密码
    
    chmod 600 /etc/rsync.password ---修改文件权限
    ls -l /etc/rsync.password
    
    mkdir -p /backup
    cd /backup/
    
    touch stu{01..100}
    rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ 连不通时
    telnet 172.16.1.41 873
    yum install telnet -y
    /etc/init.d/iptables stop
    netstat -lntup |grep 873
    
    [root@nfs01 backup]# rsync -avz /backup/ rsync_backup@172.16.1.41::backup/
    Password:   ----提示输入密码,即oldboy
    
    [root@nfs01 backup]# rsync -avz /backup/    rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password ---使用/etc/rsync.password中的密码,避免手动输入密码

    push方法1:rsync -avz /backup/ rsync_backup@172.16.1.41::backup/ --password-file=/etc/rsync.password 
    push方法2:rsync -avz /backup/ rsync://rsync_backup@172.16.1.41/backup/ --password-file=/etc/rsync.password

    pop方法1:rsync -avz rsync_backup@172.16.1.41::backup/ /tmp/ --password-file=/etc/rsync.password 
    pop方法2:rsync -avz rsync://rsync_backup@172.16.1.41/backup/ /tmp/ --password-file=/etc/rsync.password

    说明: /backup/ --本地目录,即客户端目录
    rsync_backup@172.16.1.41::backup/ ::backup/---指服务端配置中的[backup]模块
    或rsync://rsync_backup@172.16.1.41/backup/ ---表示服务端模块
    rsync_backup---指服务端rsync用户
    /etc/rsync.password --指服务端rsync_backup用户的密码

    参数 --exclude 
    [root@nfs01 backup]# rsync -avz --exclude={stu100,stu099,stu088} /backup/ rsync://rsync_backup@172.16.1.41/oldboy/ --password-file=/etc/rsync.password

    参数 --delete 无差异同步 与源同步,危险
    参数 --bwlimit 限速传输 单位bps
    [root@nfs01 backup]# rsync -avz --bwlimit=100 /backup/ rsync://rsync_backup@172.16.1.41/oldboy/ --password-file=/etc/rsync.password

    注意事项

    rsync在使用两个eth1的ip传输时,需要保证在同一网段,不在同一网段是ping不通的
    Linux环境:Rsync部署

    7.Linux环境:Rsync部署
    8.Linux环境:Rsync部署

    工作方式

    Linux环境:Rsync部署

    rsync服务端总结1

    Linux环境:Rsync部署
    Linux环境:Rsync部署
    Linux环境:Rsync部署
    Linux环境:Rsync部署

    rsync使用总结2:

    Linux环境:Rsync部署

  • 相关阅读:
    idea初始化配置
    常用网址
    linux改错了profile文件
    获得ip地址[转载]
    java 基本数据类型转换
    log4j配置概要
    HTTP状态码
    HTTP 的请求方式
    10、类和方法
    9、一切都是对象
  • 原文地址:https://www.cnblogs.com/moox/p/11173971.html
Copyright © 2011-2022 走看看