美文网首页Linux
34.Linux系统备份与恢复

34.Linux系统备份与恢复

作者: 扶桑啊啊 | 来源:发表于2018-06-04 15:20 被阅读0次

    一、哪些数据需要备份?

    Linux系统需要备份的数据

    /root/目录

    /home/目录

    /var/spool/mail/目录

    /etc/目录

    其他重要目录(如安装的服务)

    安装的服务需要备份的数据

    eg1:Apache需要备份的数据

    配置文件

    网页主目录

    日志文件

    eg2:MySQL需要备份的数据有

    源码包安装的MySQL:/usr/local/mysql/data

    RPM包安装的MySQL:/var/lib/mysql


    二、备份策略

    完全备份:指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。

    增量备份:每次备份都与上一次备份相比,备份的数据量小,占用的存储空间小,但是恢复麻烦

    差异备份:每次备份跟第一次的完全备份相比


    三、备份命令dump

    dump【选项】备份之后的文件名 原文件或目录

    -level  //0-9,共10个备份级别

    -f  //指定备份之后的文件名

    -u  //备份成功之后,把备份时间记录在/etc/dumpdates文件

    -v  //显示备份过程中更多的输出信息

    -j  //调用bzlib库压缩备份文件,其实就是把备份文件压缩为.bz2格式

    -w  //显示允许被dump的分区的备份等级及备份时间

    使用dump时显示找不到此命令,解决办法如下:

    按照步骤安装好dump后执行备份操作

    dump -0uj -f /root/boot.bak.bz2 /boot  //完全备份/boot,并压缩和更新备份时间

    cat /etc/dumpdates  //查看备份时间

    cp install.log /boot/  //将/boot文件进行修改

    dump -1uj -f /root/boot.bak1.bz2 /boot  //再进行增量备份

    dump -W  //查询分区的备份时间及备份级别


    四、备份的恢复命令restore

    restore 【模式选项】【选项】

    模式选项:restore命令常用的模式有以下四种,这四个模式不能混用

    -C:比较备份数据和实际数据的变化

    -i:进入交互模式,手工选择需要恢复的文件

    -t:查看模式,用于查看备份文件中拥有哪些数据

    -r:还原模式,用于数据还原

    选项:

    -f:指定备份文件的文件名

    前面我们将boot进行了备份,现在修改boot内的vm文件,将其改名,再比较boot的备份文件,发现内核镜像文件丢失。

    现在恢复之前备份的boot目录。

    mkdir boot.test  //新建一个目录,用来存储恢复的文件,避免恢复的文件散乱

    restore -r -f /root/boot.bak.bz2  //进入boot.test目录后,先恢复完全备份

    restore -r -f /root/boot.bak1.bz2  //再恢复增量备份 

    可以看到所有的boot目录内容都存在boot.test下。

    将/boot.test下的文件都拷贝至/boot下(提前清空/boot目录,这里注意是全部文件,略过的目录也要重新拷贝)

    记得删除刚刚加入的install.log文件


    特别注意:重启失败了==

    因为刚刚没注意看,将/boot.test下的文件都拷贝至/boot下时略过了grub目录==

    不慌,首先查一下/boot目录,好像这两项都没啥问题,如果报error15,说明/boot目录已丢失,进入光盘救援模式,查看一下/boot目录

    对比之后发现缺少grub目录,所以将原备份文件的解压目录/root/boot.test里的grub目录拷贝至/disk1/下。重启成功。


    ps:远程备份

    一:通过shell脚本建立远程备份

    lab:将服务器192.168.71.132上的配置文件远程备份到客户端kali-192.168.71.128上

    1.在服务器端完成备份脚本文件

    [root@yy public]# vim backup.sh

        #!/bin/bash

        find /etc -name "*.conf" > conf.txt

        sleep 20

        tar czf - -T conf.txt | ssh root@192.168.71.128 " dd of=/tmp/$(date +%F).conf.tar.gz"

    [root@yy public]# chmod 777 backup.sh   //添加执行权限

    [root@yy public]# ./backup.sh  //执行备份

    2.在客户端查看备份内容是否生成:

    已生成按日期命名的备份文件

    二:通过scp进行远程备份

    scp bigfile.tar root@192.168.71.128:/tmp

    三:rsync远程数据同步

    在服务器端同步

    rsync backup.sh root@192.168.71.128:/tmp

    同步

    在客户端查收

    已收到

    相关文章

      网友评论

        本文标题:34.Linux系统备份与恢复

        本文链接:https://www.haomeiwen.com/subject/nvztsftx.html