linux备份管理

开源软件备份(rsync-免费)
网盘备份(七牛云-收费)
自建备份存储架构(涉密数据一般自己搭建)

常见的文件备份:
    1、日志
        将生产服务器日志汇总到备份服务器的日志记录中,需要时查询可以防止纠纷    
        grep -r '2020-09-12 12:00'/backserver/backup    #递归查找指定文件中的内容
    2、配置文件

备份服务器搭建

Rsync:数据同步备份工具
1、全量备份

2、增量备份

3、本地备份
    a、cp:cp 源位置 目标位置
    b、rsync:rsync 源位置 目标位置
    
4、远程备份
    a、scp:scp -rp 源位置 用户@远程ip:/远程目标位置   -r:递归 -p:保持源文件属性
    b、rsync:rsync -rp 源位置 用户@远程ip:/远程目标位置   -r:递归 -p:保持源文件属性
    c、rsync:rsync -rp --delete 源位置 用户@远程ip:/远程目标位置   --delete:实现无差异同步数据    可以代替删除,rm在删除大文件时是劣势
    d、rsync:rsync /etc/    代替ls
    
 总结:rsync命令,备份目录有“/”:备份目录下的内容;备份目录没有“/”:备份目录及内容
man rsync

守护进程(一直运行的进程)方式备份数据  备份服务
1、进行配置管理
2、安全策略管理
3、自动传输备份数据
rsync服务部署安装过程
Linux服务部署安装流程:
    1、下载安装软件
    2、编写配置文件
    3、搭建服务环境   备份的目录/目录的权限
    4、启动服务程序   开机自启
rsync守护进程模式搭建
服务端搭建
1、下载安装
    rpm -qa rsync  or  rpm -qa | grep syn     yum install -y rsync
    
2、编写配置文件
    man rsyncd.conf   #查看配置文件配法,官方说明
    vim /etc/rsyncd.conf   #进入配置文件,没有的话自己创建,注意配置文件名称
    d+G  #删除所有内容
 
 3、创建rsync服务虚拟用户
    useradd rsync -M -s /sbin/nologin
    
 4、创建备份服务认证密码文件
    echo "rsync_backup:oldboydemo" > /etc/rsync.password
    chmod 600 /etc/rsync.password    #放置的是重要信息,保护好
 
 5、创建备份目录
    mkdir /backup/
    chown rsync.rsync /backup/     #切换配置文件中指定的用户
    systemctl start rsyncd   #启动进程
    systemctl enable rsyncd   #开机自启
    systemctl status rsyncd   #服务状态

rsync -avz 源文件 user@ip::目标目录   直接输入会有报错信息,但是文件会备份成功

rsync原理
每个客户端连接进行的各种操作,服务端都会验证配置文件中的内容是否与传递过来的相符合
rsync常见异常
1、rsync服务端开启iptables防火墙
   【客户端错误】
    no route to host

2、rsync服务端开启iptables防火墙
   【客户端错误】
    the remote path must start with a moudle name not a /
   【异常解决】
    rsync语法问题,::/back是错误语法,应该为::back[rsync模块]
    
3、rsync服务端认证用户失败
   【客户端错误】
    auth failed on module old
   【异常解决】
    1、用户名、密码写错
    2、服务端配置文件与输入的不一致
    3、权限不是600
    4、密码后面有空格
    
4、rsync服务位置模块错误
   【客户端错误】
    unknow module ‘back’
   【异常解决】
    配置文件和输入的模块不一致
    
5、rsync服务权限阻止
   【客户端错误】
    permission denied
   【异常解决】
    备份目录的属组合属主不正确   不是配置文件中指定的用户
    备份备份的目录不是755
    
 6、rsync服务备份目录异常
   【客户端错误】
    chdir failed
   【异常解决】
    1、备份存储目录没有建立
    2、备份存储目录建立与配置文件不符合
    
7、rsync服务无效用户信息
   【客户端错误】
    invalid uid rsync
   【异常解决】
    虚拟用户不存在  
    
 8、客户端连接慢
   【客户端错误】
    invalid uid rsync
   【异常解决】
    虚拟用户不存在 
rsync客户端配置
1、客户端创建一个密码文件
    echo 'dmo' > /etc/rsync.password
    chmod 600 /etc/rsync.password
    
2、免交互备份文件
    rsync -avz /etc/hosts 用户@ip::目标目录 --password-file=/etc/rsync.password
rsync参数汇总
-v verbose    #显示详细传输详细

-a archive    #命令规定参数  包含:rtopgDl

-r recursive  #递归参数 

-t times   #保持文件的时间属性不变(修改时间)

-o owner   #保持文件的属主信息不变

-g group   #保持文件的属组信息不变
ps:-o和-g生效,需要将配置文件uid和gid改为root用户,将fake super参数注释掉

-p perms   #保持文件权限不变

-D        #保持设备文件不变

-l  links   #保持连接属性文件不变

-L     #保持连接文件的内容

-P      #显示进度
    dd if=/dev/zero of=/tmp/1G bs=100M count=10   模拟1G数据

--exclude=PATTERN   #排除指定内容不需要
--exclude-from=file   #指定数据不被传输(批量)
--bwlimit=RATE    #限制传输的速率   100Mb/8=12.5MB
--delete  #无差异同步(慎用)
rsync守护进程多模块功能配置
rsync中新增了模块,必须手动创建目录

vim编辑器   :12,15copy15   12-15行数据复制到15之后
mkdir /{dev0,dev1}
chown 用户 /{dev0,dev1}
systemctl restart rsyncd.conf 
rsync守护进程创建备份目录
rsync -avz /etc/hosts 用户@ip::模块/目录/ --password-file=/etc/rsyncd.password

PS:客户端无法在服务端创建多级目录
rsync守护进程的访问控制
白名单、黑名单

PS:二者共存时,白名单的优先级高
rsync守护进程的列表配置
服务端配置文件中的list参数,客户端可以查看配置的模块

PS:处于安全考虑,不要开放
总结
服务端部署
    1、下载安装软件,搭建环境
    2、编写配置文件
    3、创建虚拟用户(管理备份存储目录)
    4、创建认证密码文件(修改权限600)
    5、创建备份目录(修改属主、属组信息)
    6、启动守护进程服务
    
客户端部署
    1、创建密码认证文件
    2、免密交互测试  --password-file=file

rsync备份原理
    1、用户转换,其它用户转换为---->rsync
    2、用户存储权限(目录本身755 属主rsync)
    
rsync服务的常见错误
rsync命令的参数信息 -avz(压缩数据)
rsync服务的企业应用
    1、服务的多模块配置
    2、服务的排除功能
    3、服务的备份目录创建(不能递归创建目录)
    4、列表功能
    5、白名单功能
    6、无差异同步

你可能感兴趣的:(linux)