一、备份
1. 使用tar命令备份
tar打包命令的特点:
- 保留权限
- 适合备份整个目录
- 可以选择不同的压缩方式
- 如果选择不压缩还能实现增量备份,部份还原,参考man tar
因为Linux类系统不像windows,它不会限制ROOT用户存取任何东西,因此完全可以把一个分区上全部文件都存放入一个TAR文件中。
2. 备份步骤
使用root用户登录
进入根目录
cd /
使用
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 排除目录:
- 例如
/proc
、/lost+ found
、/sys
。 - 当然
backup.gz
这个备份文件本身必须排除在外,不然就无限循环了。 - 另外如果不把
/mnt
排 除在外,那么挂载在/mnt
上的其它分区也会被备份。 - 另外需要确认一下
/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:将过程显示到屏幕上