zoukankan      html  css  js  c++  java
  • RSYNC远程同步服务

    RSYNC远程同步服务
    rsync(Remote Sync,远程同步)是一个开源的快速安全高效的异地备份工具,可以在不同的主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩。非常适合异地备份,镜像服务等应用,是一种常用的文件备份工具。
     
    rsync的官方站点:https://rsync.samba.org/
    FTP:文件传输协议
    samba:文件共享服务,共享文件夹
     
    rysnc一般系统都会有,如果没有可以用yum安装rysnc
     
    rysnc在生产环境中的使用场景:
    1、用于数据异地备份
    2、用于WEB集群中节点数据的批量更新
    3、用于本地YUM服务器与互联网镜像站软件同步
     
    在远程同步任务中,负责发起rsync同步操作的客户机成为发起端,而负责响应来自客户机的rsync同步操作的服务器成为备份源(同步源),同步源负责提供文档的原始位置,发起端对该位置具有读或写权限
     
    rsync作为同步源时以守护进程运行,为其他客户端提供备份源。配置rsync同步源需要建立配置文件/etc/rsyncd.conf,备份账号信息,然后将rsync程序以守护进程(--daemon选项)方式运行。
     
    rsync两种源模式:
    SSH备份源
    rsync备份源
     
    一、配置rsync备份源192.168.200.111
    rsync不仅用作远程同步发起端(客户端),也可以作为守护进程(服务端),为其他客户机提供备份源。
    1、建立/etc/rsyncd.conf配置文件
    2、为备份账户创建数据文件
    3、启动rsync服务进程
     
    1、建立/etc/rsyncd.conf配置文件,以源目录/var/www/html/,备份帐号backuper作为事例:
    vim /etc/rsyncd.conf
    uid = nobody (用户名)
    gid = nobody (组名)
    use chroot = yes (禁锢在源码目录)
    address = 192.168.200.111 (监听地址)
    port = 873 (监听端口)
    log file = /var/log/rsyncd.log (日志文件位置)
    pid file = /var/run/rsyncd.pid (PID文件位置)
    hosts allow = 192.168.200.0/24 (允许访问地址)
    [wwwroot] (共享名,给访问者看的,本地目录可以不是这个名字)
            path = /var/www/html (文件真实路径)
            comment = Document Root os www.laowang.com (描述信息,可以随便写)
            read only = yes (只读)
            dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z (这些结尾的文件不压缩)
            auth users = backuper (授权备份用户名,和系统用户没有关联)
            secrets file = /etc/rsyncd_users.db (保存auth users用户名和对应密码)
    vim /etc/rsyncd_users.db (编辑用户名和密码)
    backuper:pwd123 (用户名和密码用:分隔)
    chmod 600 /etc/rsyncd_users.db (由于保存密码,权限要给的严格一些)
    rsync --daemon (启动服务)
    netstat -lnpt | grep 873 (过滤端口号873)
     
    关闭服务
    kill $(cat /var/run/rsyncd.pid)
    如果关闭服务失败,是因为PID文件没有删除,删除即可正常开启或者关闭
     
    编写服务控制脚本
     
    二、使用rsync备份工具 192.168.200.112
    有了同步源服务器之后,就可以使用rsync工具来执行远程同步。以下操作都是客户端(发起端)执行。
     
    本地备份:备份源和发起端可以是一台机器
    rpm -q rsync (要保证第二台机器上有rsync)
    rsync /etc/fstab /opt
    rsync -rl /etc/fstab /boot/grub /opt (把/etc/fstab /boot/grub两个文件同步到/opt下)
     
    rsync的命令格式及备份选项:
    命令格式:rsync [选项]... 原始位置 目标位置
     
    -r:递归模式,包含目录及子目录中所有文件
    -l:对于符号链接文件仍然复制为符号连接文件
    -p:保留文件的权限标记
    -t:保留文件的时间标记
    -g:保留文件的属组标记(仅超级用户使用)
    -o:保留文件的属主标记(仅超级用户使用)
    -D:保留设备文件及其他特殊文件
     
    -a:归档模式,递归并保留对象属性,等同于 -rlptgoD
    -v:显示同步过程的详细(verbose)信息
    -z:在传输文件时进行压缩(compress)
    -H:保留硬连接文件
    -A:保留ACL属性信息
    --delete:删除目标位置有而原始位置没有的文件
    --checksum:根据对象的校验和来决定是否跳过文件
     
    备份源的表示方法:
    在执行远程同步任务时,rsync命令需要制定备份源服务器中的资源位置。rsync同步源的资源表示方式有两种:
    用户名@主机地址:共享模块名称
    rsync://用户名@主机地址/共享模块名称
     
    192.168.200.111服务器端创建共享文件夹
    mkdir -pv /var/www/html
    在共享文件夹下创建测试文件
    touch /var/www/html/test1.txt
     
    192.168.200.112客户端,发起端下载共享目录测试文件
    两种格式:
    1、rsync -avz backuper@192.168.200.111::wwwroot /root
    2、rsync -avz rsync://backuper@192.168.200.111/wwwroot /root
     
    rsync默认支持增量,同步修改过或者新创建的文件
    优点:支持增量,每次传输的数据量不是很大
    缺点:如果源数据量特别大的时候,rsync传输特别慢,需要把全部文件扫描一遍,来识别哪些文件有变动,那些文件新增加的,然后再传输。
     
    编写rsync备份脚本:(在客户端操作)
    rsync备份源的无交互验证方式
    1、通过export RSYNC_PASSWORD变量保存密码,rsync命令执行时可以自动读取该变量的值,在需要时发送给rsync服务器来进行验证
    export RSYNC_PASSWORD=123456
     
    2、通过 --password-file选项指定存储密码的文件
    vim /etc/server.pass (建立密码存储文件)
    123456
    chmod 600 /etc/server.pass
    相对于SSH源的免交互措施来说,使用变量存放密码显得不够安全,因此可在脚本中使用,并将脚本的权限严格控制,避免密码泄漏。
    rsync -az --password-file=/etc/server.pass backuper@192.168.200.111::wwwroot /root
     
    可以创建周期计划任务crontab
     
    上传操作需要文件夹属主、组为nobody,而且同步操作是镜像两个文件夹,单独文件上传加--delete是不会删除原有文件的,只有两个文件夹互相同步的时候才可以
     
    假设环境
    111mysql数据库,备份出数据
    222备份存放位置
    这样要在222上配置rsync服务,
    并且授权账号backuper,
    还要把共享文件夹属主和属组改变为nobody,
    111mysql服务端上备份出数据,远程同步到222的共享文件夹上

  • 相关阅读:
    第04组 Beta冲刺(2/5)
    第04组 Beta冲刺(1/5)
    第04组 Alpha事后诸葛亮
    第04组 Alpha冲刺(6/6)
    第04组 Alpha冲刺(5/6)
    第04组 Alpha冲刺(4/6)
    第04组 Alpha冲刺(3/6)
    作业2-1:矩阵协方差
    作业lab1-1:lammps教程总结
    如何在服务器上传/下载文件
  • 原文地址:https://www.cnblogs.com/elin989898/p/12005598.html
Copyright © 2011-2022 走看看