Linux下用dump实现备份和还原
对于系统而言,我们可以有很多种办法去备份(还原)系统或文件,之所以要去做备份,就是为了在系统或文件遭到损害时,能及时恢复,把损失减小到最小。当然,对于企业服务器而言,备份的重要性是举足轻重。咱们今天就详细讨论一下LINUX中如何用dump和restore实现备份和还原。
一,dump的原理,优点及限制
dump和restore默认已经安装在RHEL5中,如果你使用的Linux中没有,可以自己去google中搜一下并下载安装。
使用dump命令时,它会建立一份自上次备份操作以来进行修改过的文件列表,然后把这些文件打包成一个单独的文件。在做备份时,需要指定一个备份级别,它是0-9之间的一个整数。级别为N的转储会对从上次进行的级别小于N的转储操作以来修改过的所有文件进行备份,而级别0就是完全备份。通过这种方式,可以很轻松的实现增量备份,差异备份,甚至每日备份。例如,第一次备份时可选择级别0(具体操作看后面),以后每天做增量备份时就可以每天依次使用级别1,级别2,级别3等等… …;当需要每天做差异备份时,可先选择级别0做完整备份,然后每天都使用同一大于0的级别就行了,比如说第二天用5,第三天也用5,第四天也一样。
使用dump的优点:
1,备份可以跨多卷磁带
2,能备份任何类型的文件,甚至是设备
3,备份时,文件的权限,宿主,宿组,修改时间等都会被保存
4,能够正确处理从未包含任何数据的文件块(孔洞文件)
5,能够做增量,差异备份
它也有不足:
1,每个文件系统必须单独转储备份
2,只有本地计算机的文件系统才能够转储备份(rdump,rrestore可用来弥补此项不足)
当然,使用tar也可以用来实现备份和还原,但tar只能在Linux或Unix环境下使用,对于跨平台的环境,dump使用起来个人感觉更方便一些。
如果有条件,dump也可以将备份存储在磁带上。Linux通常用/dev/st0代表倒带设备,而用/dev/nst0代表非倒带设备,使用倒带设备存储时,当磁带用完它会自动倒带并接着存储,所以会覆盖以前的数据,这样就存在以前数据丢失的风险。这个地方咱们就不详细讨论了。
二,dump的格式,常用参数及使用
格式:dump [-level#] [-acmMnqSuv] [-A file] [-B records] [-b blocksize]
[-d density] [-D file] [-e inode#,inode#,...] [-E file]
[-f file] [-h level] [-I nr errors] [-j zlevel] [-Q file]
[-s feet] [-T date] [-y] [-z zlevel] filesystem
常用参数 Level:备份级别0-9
-B:指定用来备份的磁带的长度,以KB为单位(有些磁带不支持以结束标志判断时,就需要使用到此参数
-b:指定块大小,默认为10
-d:指定密度,默认为1600BPI
-D:设定存储数据库的名称和路径,默认是/etc/dumpdates文件
(-e,-E:与备份文件的inodes数有关的参数)
-f:指定备份文件的路径和名称
-u:更新数据库文件/etc/dumpdates
-s:统计备份所需的空间,一般在备份前做,以防磁带或磁盘空间不足
举例:
dump –0s /dev/sda1
完整备份/dev/sda1前统计一下需多大容量
dump -0u –f /tmp/boot.dump /boot
当以后更改了/boot,比如说内核升级后,如果再想备份,可以按下列方式:
dump -1u –f /tmp/boot1.dump /boot
如果想做差异备份,以后就一直用级别1.关于增量备份和差异备份的区别看看下图吧,不详细讲了:
三,查看备份文档中的文件及还原
查看备份文档中的文件和还原就需要用到另外一个工具,restore。
1, 查看备份文档中的文件
-t参数是查看的意思,-f是指定要查看的备份文件。通过以上命令,就可以查看备份文件中备份了哪些文件。
1, 还原备份
还原备份的时候有两种方式可以选择,一种是完全还原,一种是有选择的部分还原。
咱们还是用前面的例子来看,如果你前面备份的/boot分区文件损坏了,这时候你想还原,可以按如下步骤:
如果只是一部分数据丢失了,那么可以使用参数-i通过交互方式来实现文件的选择性还原
这个地方我故意删掉了一个文件initrd-2.6.18-53.el5.img
提示“Specify next volume”时填如1,它表示是在单独一卷磁带(这里我用的是磁盘的空间)上进行的备份。下面一行提示选“n”,表示不是恢复整个文件系统,而是单个文件。
转载于:https://blog.51cto.com/lijianjun/1865900
Linux下用dump实现备份和还原相关推荐
- Linux下MySQL数据库的备份与还原,mysql快速导入导出数据库实例演示,解决mysql大数据量数据库导出慢的问题
MySQL 数据库的备份与还原 第一章:数据库的导入与导出 ① 数据库的导出 ② 大数据量下 mysqldump 的导出优化 ③ 数据库的导出 第一章:数据库的导入与导出 ① 数据库的导出 需要用到 ...
- 20120520 Linux下mysql的自动备份工具
文章摘自:http://hi.baidu.com/vb98/blog/item/2ed90cea835fa4cfd439c97f.html linux下的MySQL自动备份工具-第二版2011-10- ...
- linux设置定时备份任务,Linux下Oracle设置定时任务备份数据库的教程
1.查看数据库的字符集 数据库的字符集必须和linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...
- linux设置mysql定时任务_原创 Linux下实现Mysql定时任务备份数据
本实例将创建目录放置于/mnt目录下,可根据具体情况放置于其他目录: cd /mnt mkdir dbback pwd /mnt/dbback 创建shell脚本 脚本名称可根据自己规范进行自定义: ...
- oracle定时任务可以备份么,Linux下Oracle设置定时任务备份数据库的教程
1.查看数据库的字符集 数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码. 以下两个sql语句都可以查到: select * from nls_database_parameters ...
- 如何在linux下写脚本定时备份mysql数据库
我们在工作中可以这么做减少数据丢失概率 1. 先在某个文件夹下创建一个脚本,这里命名为back_up_database.sh,在/mnt/data_dump/这目录下 #!/bin/bash base ...
- linux下仅仅有rman备份集的异机不同文件夹恢复
昨天在客户那里做了一次rman异机的恢复,把生产库弄一份给測试库用,总库大概80G,总共花费了2个小时,当时客户的环境是windows 11.2.0.3,今天早晨在linux下又一次測试了一下,记录下 ...
- 在linux下实现mysql自动备份数据
使用的系统为CentOS,mysql版本为5.6 备份功能主要利用以下功能实现: mysql命令中的mysqldump命令 linux下脚本编写 linux下crontab定时任务的使用 首先确定你要 ...
- ubuntu下mysql整个数据库备份与还原
[root]# /usr/bin/mysqldump -h127.0.0.1 -uusername -ppassword databasename >/opt/share/1/backup.sq ...
最新文章
- Html,xhtml,xml的定义和区别
- pci枚举初始化部分(2)
- Java小游戏 —— 德州扑克
- 几张旧照片,用傻瓜拍的,翻出来凑数 (续)
- js 中的class
- mysql-笔记-命名、索引规范
- 使用transforms.Normalize((0.5,), (0.5,))异常报错“Process finished with exit code -1073741676 (0xC0000094)”
- Android Dialog Activity
- JavaScript(3)——Object-Oriented Design
- 【OpenCV学习笔记】【教程翻译】一(基于SVM和神经网络的车牌识别概述)
- python3 centos7-linux 安装
- 正反物质相撞湮灭,是因为电荷因素吗?
- java armeabi_Android中的armeabi、armeabi-v7a、arm64-v8a及x86的详解
- 如何在计算机管理路由器,如何在电脑上管理自家的wifi ? | 192路由网
- UTM投影的选择(地区-投影带)
- 永中集成Office:既是创新产品,也是战略储备
- 新 IT 框架概述和双态 IT
- java论文word_word 论文 排版 适用于 word2016
- 美化windows xp 完全教程
- 【Linux系列文章】网络配置
热门文章
- flash flip 效果集
- C++串行编程步骤介绍
- 我的偶像:Garfield 上映
- socket编程(二) select 模型
- 大数据_Flink_Java版_数据处理_流处理API_Flink中的UDF函数类---Flink工作笔记0036
- 大数据之-Hadoop3.x_MapReduce_ReduceJoin案例Reducer_案例_Debug调试---大数据之hadoop3.x工作笔记0132
- C++_类和对象_C++继承_继承的方式_公共继承_保护继承_私有继承---C++语言工作笔记062
- AndroidStudio_百度人脸识别离线SDK_代码分析_使用流程_随时更新---Android原生开发工作笔记217
- C++开发环境搭建_需要学习的内容介绍_写第一个C++程序---C++语言工作笔记008
- C#.NET验证码智能识别学习笔记---03#.Net中@符号的意思