• 中小规模集群搭建之backup服务(rsync守护进程)


    拓扑:

    在服务端(bacakup服务器)操作:

    1、安装rsync(一般是默认安装的)

    yum install rsync -y
    rsync --version

    2、创建rsync用户和备份目录:

    useradd  -M -s /sbin/nologin  rsync
    mkdir  -p /backup
    chown  -R rsync.rsync  /backup
    ls -ld /backup

    3、修改rsync.conf配置文件

    # cp /etc/rsyncd.conf{,.ori}
    # vim /etc/rsyncd.conf
    
    #this is cat's backup
    fake super
    = yes uid = rsync gid = rsync use chroot = no max connections = 2000 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log ignore errors read only = false list = false hosts allow = 172.16.1.0/16 ##hosts deny = 0.0.0.0/32(deny拒绝) auth users = rsync_backup secrets file = /etc/rsync.password [backup] comment = by cat path = /backup

    4、启服务

    systemctl restart  rsyncd
    systemctl  enable rsyncd
    systemctl status  rsyncd

    5、查看进程和端口是否存活/监听

    ps -ef | grep rsync | grep -v grep
    lsof -i :873

    6、创建密码文件并赋权600

    echo "rsync_backup:123456" >/etc/rsync.password
    chmod  600  /etc/rsync.password

    在客户端操作(web01和nfs01)操作:

    1、创建密码文件并赋权600

    echo "rsync_backup:123456" >/etc/rsync.password
    chmod  600  /etc/rsync.password

    2、测试(把 /etc/passwd 推到 backup服务器上)

    rsync -avz /etc/passwd rsync_backup@176.16.1.41::data  --password-file=/etc/rsync.password 

    去backup服务器查看是否推送成功:

    ls /backup

    概念解释:

    什么是rsync:

    rsync 是一个开源的、高速的、数据复制工具,默认端口873
    官网资料:https://www.samba.org/ftp/rsync/rsync.html

    rsync的作用:

    定时/实时、远程备份

    rsync有什么特性:

    支持拷贝普通文件和特殊文件,eg:链接文件、设备文件等;
    支持排除指定文件或目录同步的功能,相当于tar的排除功能;
    可以做到保持源文件或目录的权限、时间、软硬链接、属主、属组等所有属性均不变;
    可以实现增量复制,提高了数据传输效率;
    可以使用rcp、rsh、ssh等方式组合进行隧道加密传输,要注意的是rsync本身不对数据进行加密;
    可以通过socket(进程)传输文件和数据;
    支持匿名或认证进程模式传输,并且该过程不需要系统用户的参与,安全的进行数据备份以及镜像备份。

     rsync的三种工作模式:

    1、本地模式
    1.1 把数据从一个地方复制到另外一个地方,相当于cp命令  eg:# rsync /etc/hosts /opt 就相当于 # cp /etc/hosts /opt
    1.2 通过参数可以实现数据的删除相当于rm # eg : # rsync  -r --delete /null /opt   #这里的null为空目录,效果为/opt目录被清空
    1.3 查看文件属性,相当于ls -l eg:# rsync filename  
    2、远程shell模式
    借助类似ssh隧道传输数据,适合不同服务器之间的复制
    pull(拉):从远端拉取到本地;(类似于scp)
    语法: 
    #rsync    参数选项    认证用户@远程IP:源路径 本地路径
    push(推):从本地推送至远端;
    语法: 
    #rsync    参数选项    本地路径    认证用户@远程IP:目标路径    
    3、rsync守护进程模式
    首先要搭建rsync服务端(要有守护进程),然后才能在客户端实现推拉数据;
    3.1 服务端启动守护进程;
    3.2 push,pull操作都在客户端进行;
    语法:
    pull #rsync    参数选项    虚拟用户@守护进程IP::模块名 本地路径
    或   #rsync    参数选项    rsync://虚拟用户@守护进程IP/模块名 本地路径
    push #rsync    参数选项    本地路径    虚拟用户@守护进程IP::模块名
    或   #rsync    参数选项    本地路径    rsync://虚拟用户@守护进程IP/模块名

    rsync命令参数:

    -v    显示输出过程
    -z    压缩
    -a    多参数集合(相当于 -rtopgDl)
    -r     递归
    -t     保留时间戳
    -o     保持属主
    -p  保持权限
    -g  保持属组
    -l  保持拷贝软链接
    -q  不输出任何信息
    --bwlimit=KBPS  限制I/O带宽,KBytes per second
    --delete  删除/清空
    --exclude  排除
    频繁使用组合: -avz/-vzrtopg
  • 相关阅读:
    TCP重传
    GIT常用命令参考图
    nodepad++ 快捷键加常用操作
    Django学习之manage.py使用
    Python遍历目录
    Pycharm 2017 12月最新激活码
    Python 基础之列表去重的几种玩法
    ddos cc攻击简单介绍(转)
    linux升级python版本至3
    linux解压xxx.tar.xz文件
  • 原文地址:https://www.cnblogs.com/BrotherCat/p/14181714.html
Copyright © 2020-2023  润新知