CentOS7备份与恢复(不同机器)

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

dd
  特点
  1、对块进行操作,能备份整个硬盘(包括分区表、MBR,其他Linux不能很好支持的文件系统)
  2、可以进行压缩(麻烦一点)
  3、由于是备份整个硬盘,文件系统上没有使用的“空白”空间也会被保存起来,备份文件比较大
  备份
  备份硬盘sda,放到/backup(/backup挂载在其他硬盘如sdb)

下面详细介绍使用tar进行备份还原(注:这个测试在CentOS7,备份与还原在不同机器上做的):

1、备份

使用root切换的根目录,备份完整系统

tar cvpzf backup.tgz / --warning=no-file-changed --exclude=/proc --exclude=/data --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/dev

其中: --warning=no-file-changed 表示忽略掉当前文件变化导致备份失败的错误 --exclude 表示排除不需要备份的文件和目录

在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它
作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”,同时给备份命一个相应的扩展名

2、恢复

i、将备份文件拷贝到根目录,输入以下命令还原

tar xvpfz backup.tgz -C / etc home run usr var root

其中 -C 的 C 为大写,/ 后面表示需要替换的目录,警告:这会目录里的所有文件替换成压缩文档里的文件!

ii、恢复SELinux文件属性

restorecon -Rv /etc /home /run /usr /var /root

尝试远程连接一下,如果连接不上,使用下面这条命令

restorecon -Rv /

iii、修改磁盘启动信息

查看磁盘uuid

[root@localhost ~]# blkid
/dev/sda1: UUID="3b6f0a6d-b647-4c70-988f-cc5e1fbb1be6" TYPE="xfs" 
/dev/sda2: UUID="jfcP6m-5wvo-LHp8-F3ui-BUcO-CApA-RdURLe" TYPE="LVM2_member" 
/dev/mapper/centos-swap: UUID="cdabe268-fe22-4fa4-90ed-84e65729e766" TYPE="swap" 
/dev/dm-2: UUID="2b16667e-199b-4ca0-b695-1cb3fa25890c" TYPE="xfs" 
/dev/dm-1: UUID="b807abb6-fb0b-4dfb-9727-d3465cd69ef9" TYPE="xfs" 
/dev/sdb4: LABEL="CentOS 7 x8" UUID="B4FE-5315" TYPE="vfat"

修改 /etc/fstab 文件,将文件的 UUID 修改为 sda1 对应的 UUID

iv、如果系统装有mysql,删除以下文件,默认如下:

mv /var/lib/mysql/auto.cnf /var/lib/mysql/auto.cnf.back

v、重启系统,恢复完成

参考:https://www.cnblogs.com/fang888/p/8473485.html

你可能感兴趣的:(Linux)