CentOS 7 系统备份与恢复

一、备份

1. 使用tar命令备份

tar打包命令的特点:

  • 保留权限
  • 适合备份整个目录
  • 可以选择不同的压缩方式
  • 如果选择不压缩还能实现增量备份,部份还原,参考man tar

因为Linux类系统不像windows,它不会限制ROOT用户存取任何东西,因此完全可以把一个分区上全部文件都存放入一个TAR文件中。

2. 备份步骤

  1. 使用root用户登录

  2. 进入根目录cd /

  3. 使用tar命令备份

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=backup.tgz

3. 说明

下面详解下这个命令:

  • tar 是用于打包文件的命令。
  • cvpfz 是tar的选项,分别是创建档案文件保持权限(保留所有东西原来的权限)、使用gzip来减小文件尺寸
  • backup.gz 是我们作为备份文件的文件名。
  • / 是我们要备份的目录,/代表的是整个文件系统。
  • –exclude 排除目录:
    1. 例如/proc/lost+ found/sys
    2. 当然backup.gz这个备份文件本身必须排除在外,不然就无限循环了。
    3. 另外如果不把/mnt排 除在外,那么挂载在/mnt上的其它分区也会被备份。
    4. 另外需要确认一下/media上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把/media也排除在外。

执行备份命令后,如果文件比较多可能需要很长时间,备份完成后,在文件系统的根目录将生成一个名为backup.tgz的文件,它的尺寸有可能非常大。

二、恢复

恢复系统其实非常简单,就是把之前打包的文件覆盖回去就是了。如果系统损坏不能进入了,可以先安装一个最小化安装,配置相同的磁盘设备,然后再用backup.tgz恢复

首先登陆为root用户,然后把之前备份的文件backup.tgz拷贝到分区的根目录下。
Linux中可以在一个运行的系统中恢复系统,不需要用boot-cd来专门引导。当然如果系统已经无法启动, 那就只能先重装一下系统,再来恢复。

1. tar恢复

使用下面的命令来恢复系统

tar xvpfz backup.tgz -C /

2. 新建备份时排除的文件夹

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:

mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
  • /proc 权限:文件所有者:root群组:root 所有者:读取 执行 群组:读取 执行 其它:读取 执行
  • /lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /mnt 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /sys 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行

3. 恢复为原来的 SELinux Type

restorecon -Rv /

解释:restorecon:恢复为原来的 SELinux Type参数:

  • -R:连同子目录一起修改
  • -v:将过程显示到屏幕上
0%