当前位置:首页 > Linux > 正文内容

linux备份整个系统

canca5年前 (2021-01-06)Linux827

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

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

tar方法教程
Linux不像windows,它不限制根用户存取任何东西,因此你完全可以把一个分区上每一个的文件放入一个TAR文件中。

使用root用户切换到 / 目录
然后使用下面的命令备份完整的系统:

tar cvpzf backup.tar.gz --exclude=/dev/pts --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /

说明:
    tar 部分就是我们将要使用的软件。
    'cvpfz'是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小)。接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz。
    紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/。接着就是我们要剔除的目录了:我们不想备份每一样东西,因为包括有些目录不是非常有用。同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结 果的。你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的。同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质)。否则,剔除/media。

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

tar cvpjf backup.tar.bz2 --exclude=/dev/pts --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys --exclude=/media /

恢复:
如果系统被毁坏后就可以用备份好的tar包进行恢复。
再一次确保要在 / 下且备份的tar包也在该位置。

Linux美妙的地方之一就是这一项工作甚至可以在一个正在运行的系统上进行;没必要被引导cd或者任何东西搞得晕头转向。当然,如果你使你的系统 无法被引导了。你也许别无选择,只能使用一张live-cd了,但结果是一样的。你甚至可以在Linux系统正在运行的时候,移除它里面所有文件。
这是我要用的命令:

cd /
tar xvpfz backup.tgz -C /


如果你使用 bz2:

cd /
tar xvpfj backup.tar.bz2 -C /


警告:这会把你分区里所有文件替换成压缩文档里的文件!
确保在你做其他任何事情之前,重新创建你剔除的目录:

mkdir /proc
mkdir /lost+found
mkdir /mnt
mkdir /sys


/proc 权限:文件所有者和群组都为root,权限为555
/lost+found 权限:文件所有者和群组都为root,权限为700
/mnt 权限:文件所有者和群组都为root,权限为755
/sys 权限:文件所有者和群组都为root,权限为555
当你重启以后,所以的事情都会和你备份的时候一模一样。

如参照了上面的教程做的备份和恢复,出现重启电脑后还是会一直提示用户名和密码 输入以后一闪还是提示用户名和密码,反正就是登不进系统。
解决:还原后执行下面命令再重启即可解决这个问题

restorecon -Rv /

 

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/747.html

分享给朋友:

“linux备份整个系统” 的相关文章

在Linux下安装和使用MySQL

一、引言   想使用Linux已经很长时间了,由于没有硬性任务一直也没有系统学习,近日由于工作需要必须使用Linux下的 MySQL。本以为有Windows下使用SQL Server的经验,觉得在Linux下安装MySql应该是易如反掌的事,可在真正安装和使用MySQL时走了很多弯路,遇见很多问题,...

Determining IP Information for eth0...failed

虚拟机的网络采用NAT方式,始终不能上网,纠结了好几天的问题终于解决了。VM虚拟机中装了redhatlinux9.0,准备与主机共享文件,结果网络不通!       无法激活,在输入ifup eth0后总提示:  &nb...

Linux常用命令集锦

查看所有已安装前缀为samba的RPM包      rpm -qa samba*删除目录或文件   rm -r 文件名linux解压bz2文件使用   bunzip2   linux-2-4-2.tar.bz2 &nbs...

Nginx安装部署

Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由 Igor Sysoev 为俄罗斯...

Linux下使Shell 命令脱离终端在后台运行

你是否遇到过这样的情况:从终端软件登录远程的Linux主机,将一堆很大的文件压缩为一个.tar.gz文件,连续压缩了半个小时还没有完成,这时,突然你断网了,你登录不上远程Linux主机了,那么前面的半个小时就会前功尽弃,你非常气愤……在Linux下,如果你要执行的shell命令耗时特别长,并且:(1...

centos 7 crontab定时器及开机自启

crontab 建议直接采用centos7 自带得cronteb包,定时器:就是定时去执行干某一件事在这里我以脚本为媒介1 当然是创建一个脚本,创建目录随意但是你一定要记得。。直接通过vi来创建一个test.sh脚本!vi /etc/test.sh编辑脚本内容:#!/bin/bash #...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。