备份恢复linux,备份和恢复Linux系统

备份系统 首先进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录): # cd / 下面是我用来备份系统的完整命令: # tar cvpzf backup.tgz - - exclude=/proc - - exclude=/lost+found

备份系统

首先进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):

# cd /

下面是我用来备份系统的完整命令:

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

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“ /lost+found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“ /mnt”排除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西,必须把“/media”也排除在外。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:

#tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2

–exclude=mnt –exclude=/sys /

恢复系统

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了,你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

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

# tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:

# tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

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

# mkdir proc

# mkdir lost+found

# mkdir mnt

# mkdir sys

等等

到此,恢复系统已大功告成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555153.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ProcessBuilder类的介绍及使用_Process和ProcessBuilder入门

ProcessBuilder类的介绍及使用 前言 在做一个项目的时候需要用到运行时动态执行JAVA命令,一开始的思路是运行时生成bat脚本,然后通过Runtime类的exec方法之行bat脚本,但是此方法不好的地方在于脚本执行时会弹出一个cmd程序界面框。后面在参…

c语言不能在函数中求数组大小,C语言中数组长度不能用变量定义吗?

翻翻过去那场雪1、C语言中不支持。C中支持变长数组(你可以自行度娘变长数组和alloca函数),但是因为其实在栈上分配,不被推荐使用。做为解决方案,你可以使用C式的malloc函数或者C式的new函数来在堆上动态分配内存,这样长度是完全可…

Java如何基于ProcessBuilder类调用外部程序

Java如何基于ProcessBuilder类调用外部程序 demo1 Testpublic void testProcessBuilder() {ProcessBuilder processBuilder new ProcessBuilder(); // processBuilder.command("ping","127.0.0.1");processBuilder.command("ipconfig");//…

计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc

计算机程序设计(C语言)课程设计报告.doc计算机程序设计C语言课程设计报告题目电子动画时钟 学院 机电工程学院专业 班级090109班学号 姓名 指导教师 设计日期 一、概述选题背景 随着社会的进步和科技的发展,电子钟表逐渐成为了人们生活中不可缺少的一部分。设计思路…

Java ProcessBuilder类学习

文章目录一、ProcessBuilder基础1、ProcessBuilder类1.1 概述1.2 进程属性2、Process类2.1 概述2.2 Process抽象类2.3 创建Process对象方式3、ProcessBuilder与Runtime.exec()异同3.1 相同点3.2 不同点二、**ProcessBuilder**实战1、API介绍2、实战demo一、ProcessBuilder基础 …

c语言用栈编写数制转换程序,数制转换-栈的应用(C++实现)

本程序实现的是十进制与不同进制之间的的数据转换,利用的数据结构是栈,基本数学方法辗转相除法。conversion.h#includeusing namespace std;//将十进制的数据n转换成m进制的数据stack conversion(unsigned int n,unsigned int m){stack s;while(n){s.pus…

Java replace和replaceAll的区别以及用法

replace和replaceAll是JAVA中常用的替换字符的方法 public String replace(char oldChar, char newChar) 在字符串中用newChar字符替代oldChar字符,返回一个新的字符串 public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替…

两个变量实现查找坏环c语言,C/C++编程笔记:C语言编程知识要点总结!大一C语言知识点(全)...

程序员无言 2020-07-07一、C语言程序的构成与C、Java相比,C语言其实很简单,但却非常重要。因为它是C、Java的基础。不把C语言基础打扎实,很难成为程序员高手。1、C语言的结构先通过一个简单的例子,把C语言的基础打牢。C语言的结构…

Java-使用Math,实现lg、平方、开方、round、floor、ceil

一、lg 使用方法:Math.log10() public class MathMethod {public static void main(String[] args) {int a100;double b100;float c100;System.out.println("lg的实现:"Math.log10(a));System.out.println("lg的实现:"Math.log10(…

累加器A用c语言,累加器A的主要作用是什么_一文解析累加器a和acc的区别

描述累加器简介在中央处理器中,累加器(accumulator) 是一种寄存器,用来储存计算产生的中间结果。如果没有像累加器这样的寄存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到内存,也许马上…

Java中的Math函数常用方法总结

Math函数中常用的一些方法 类Math包含用于执行基本数字运算的方法 算术运算 Math.abs(a):取a的绝对值Math.sqrt(a):取a的平方根Math.cbrt(a):取a的立方根Math.max(a,b):取a、b之间的最大值Math.min(a,b):取a、b之间…

单片机C语言节日彩灯,单片机c语言节日彩灯控制器设计.docx

单片机c语言节日彩灯控制器设计湖南涉外经济学院课程设计报告课程名称:单片机原理及应用报告题目:节日彩灯控制器的设计学生姓名:所在学院:信息科学与工程学院专业班级:电子信息工程1102班学生学号:指导教师…

Java中的<<、>>、>>>运算符

二进制中的原码、反码、补码 有符号数: 对于有符号数而言,符号的正、负机器是无法识别的,但由于“正、负”恰好是两种截然不同的状态,如果用“0”表示“正”,用“1”表示“负”,这样符号也被数字化了&…

c语言随机漫步,基于最短路径的随机游走算法研究与应用

摘要:近年来,人们越来越多地关注数据集中数据点之间的关系。不同种类的网络相继涌现。有链接和节点类型都单一的同质网络如以朋友友谊为基础建立起来的社交网站;以网络链接形成的互联网。另外还有多种链接和节点类型形成的异质网络如医学领域病人,疾病与治疗方法或者…

JAVA中的NAN

JAVA中的NAN NaN表示非数值,例如:0.0/0结果为NAN,负数的平方根结果也为NAN。 所有非数值的值都认为是不相同的,所有我们在检测NAN时使用 ""是检测不到的 if(x Double.Nan) //这样是检测不到的需要使用Double.isNaN…

actionscript 3.0 怎么写android 程序,(ActionScript3.0笔记)第一个程序HelloWorld!

(ActionScript3.0笔记)第一个程序HelloWorld!创建我的第一个ActionScript3.0程序--HelloWord!首先下载ActionScript3.0的集成开发环境,FLASH CS4 Professional。从网站下载FLASH CS4 Professional软件的安装包程序,下载好后进行安装。安装后在…

android判断是否json格式,android – 检查JSON中是否存在subObject

您可以尝试一下,如果尝试失败,则返回null.或者你可以将你的尝试分解成小块来监视失败的地方./*** This method will return the JSONObject q0, if it exists* If it doesnt exist it will return NULL**/private JSONObject getQZero(JSONObject json){try{return json.getJSO…

Java中double类型精度丢失的问题_double类型数据加减操作精度丢失解决方法_BigDecimal取整

BigDecimal在用double做入参的时候,二进制无法精确地表示十进制小数,编译器读到字符串"0.0000002"和“1.0000002”之后,必须把它转成8个字节的double值,也就是1.0000001999999998947288304407265968620777130126953125类…

Spring 官方修复零日漏洞,推出 Spring Boot 2.6.6、2.5.12 等新版本

一、漏洞说明 这个漏洞还要从 3 月 29 日晚间说起! 彼时有不少网友爆料,Spring 框架出现 “史诗级” RCE 漏洞,平地一声雷,一时之间,快要入睡的开发者们纷纷坐起查看关于漏洞的情况,闹得技术圈中人心惶惶…

android.app.activityview,ViewModel 概览

ViewModel 概览ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存。注意:如需将 ViewModel导入 Android 项目,请参阅 Lifecycle 版本说明中关于声明依赖项的说明。Android 框架可…