1. 备份概述

Linux系统需要备份的数据有/root,/home,/var/spool/mail,/etc及日志等其他目录。

安装服务的数据需要备份,如apache需要备份的数据有配置文件、网页主目录、日志文件;源码包安装的mysql需要备份/usr/local/mysql/data,RPM包安装的mysql需要备份/var/lib/mysql。

(1) 备份策略

完全备份:就是指把所有需要备份的数据全部备份,当然完全备份可以备份整块硬盘,整个分区或某个具体的目录。特点备份较慢,且占用的空间很大。

增量备份:每次备份只备份新增加的数据,是与上一次备份的数据相比。特点:数据恢复比较麻烦。

差异备份:前两者的折中办法,与增量备份的差别在于,第二次备份是与第一次的完全备份相比。

2. 备份命令

(1) dump命令

其格式为:

dump [选项] 备份之后的文件名 原文件或目录

其中,-level选项就是我们所说的0-9十个备份级别;-f 文件名选项指定备份之后的文件名;-u选项表示备份成功之后,把备份时间记录在/etc/dumpdates文件;-v选项显示备份过程中更多的输出信息;-j选项表示调用bzlib库压缩备份文件,其实就是把备份文件压缩为.bz2格式;-W选项显示被dump的分区的备份等级及备份时间。

例1:备份分区

# 备份命令。先执行一次完全备份,并压缩和更新备份时间
[root@localhost ~]# dump -0uj -f /root/boot.bak.bz2 /boot/
......
DUMP: Wrote 22370kB uncompressed, 20288kB compressed, 1.103:
DUMP: DUMP IS DONE # 查看备份时间文件
[root@localhost ~]# cat /etc/dumpdates
/dev/sda1 Sun Aug :: +
/dev/sda1 Tue Aug :: + #复制日志文件到boot分区
[root@localhost ~]# cp install.log /boot/ #增量备份boot分区,并压缩
[root@localhost ~]# dump -1uj -f /boot/boot.bak1.bz2 /boot/ # 查看文件的大小
[root@localhost ~]# ll -h /root/
-rw-r--r--. root root 18K Aug : boot.bak1.bz2
-rw-r--r--. root root 20M Aug : boot.bak.bz2 # 查询分区的备份时间及备份级别的
[root@localhost ~]# dump -W
Last dump(s) done (Dump '>' file systems):
> /dev/sda5 ( /) Last dump: never
/dev/sda1 ( /boot) Last dump: Level , Date Sun Aug ::
> /dev/sda2 ( /home) Last dump: never
> /dev/sdb1 (/root/disk1) Last dump: never
> /dev/sdb5 (/root/disk5) Last dump: never

例2:备份文件或目录

# 完全备份/etc/目录,只能使用0级别进行完全备份,而不再支持增量备份
[root@localhost ~]# dump -0j -f /root/etc.dump.bz2 /etc/

(2) restore命令

恢复命令restore的格式为:

restore [模式选项] [选项]

其中,restore命令常用的模式有四种,且这四种模式不能混用。包括:

-C-----比较模式,比较备份数据和实际数据的变换

-i-----进入交互模式,手工选择需要恢复的文件

-t-----查看模式,用于查看备份文件中拥有哪些数据

-r-----还原模式,用于数据还原

而选项包括:-f------指定备份文件的文件名

例1:比较备份和实际数据的变化

#把boot目录中内核镜像文件改个名字
[root@localhost ~]# mv /boot/vmlinuz-2.6.-.el6.i686 /boot/vmlinuz-2.6.-.el6.i686.bak #restore发现内核镜像文件丢失
[root@localhost ~]# restore -C -f /root/boot.bak.bz2
Dump tape is compressed.
Dump date: Sun Aug ::
Dumped from: the epoch
Level dump of /boot on localhost.localdomain:/dev/sda1
Label: none
filesys = /boot
restore: unable to stat ./vmlinuz-2.6.-.el6.i686: No such file or directory
Some files were modified! compare errors

例2:查看模式

[root@localhost ~]# restore -t -f /root/boot.bak.bz2
Dump tape is compressed.
Dump date: Sun Aug ::
Dumped from: the epoch
Level dump of /boot on localhost.localdomain:/dev/sda1
Label: none
.
./lost+found
./grub
./grub/grub.conf
./grub/splash.xpm.gz
./grub/menu.lst
./grub/device.map
./grub/stage1
./grub/stage2
./grub/e2fs_stage1_5
./grub/fat_stage1_5
./grub/ffs_stage1_5
./grub/iso9660_stage1_5
./grub/jfs_stage1_5
./grub/minix_stage1_5
./grub/reiserfs_stage1_5
./grub/ufs2_stage1_5
./grub/vstafs_stage1_5
./grub/xfs_stage1_5
./grub/.grub.conf.swp
./efi
./efi/EFI
./efi/EFI/redhat
./efi/EFI/redhat/grub.efi
./.vmlinuz-2.6.-.el6.i686.hmac
./System.map-2.6.-.el6.i686
./config-2.6.-.el6.i686
./symvers-2.6.-.el6.i686.gz
./vmlinuz-2.6.-.el6.i686
./initramfs-2.6.-.el6.i686.img

例3:还原模式

#() 还原boot.bak.bz2分区备份

#先还原完全备份的数据
[root@localhost ~]# mkdir boot.test
[root@localhost ~]# cd boot.test/
#解压缩
[root@localhost boot.test]# restore -r -f /root/boot.bak.bz2
Dump tape is compressed. #再恢复增量备份数据
[root@localhost boot.test]# restore -r -f /root/boot.bak1.bz2
Dump tape is compressed.
./boot.bak1.bz2: (inode ) not found on tape #() 还原/etc目录的备份etc.dump.bz2
restore -r -f etc.dump.bz2

Linux学习笔记(23) Linux备份的更多相关文章

  1. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  2. Linux学习笔记之四————Linux常用命令之文件管理

    Linux命令——文件管理相关命令 <1>查看文件信息:ls ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令. Linux文件或 ...

  3. Linux学习笔记之Linux相关知识

    [想成为某一方面的大神,没有捷径可走,只能不断的记录.练习.总结.coding……] notes:主要从网上摘录了一些关于Linux的历史以及一些相关内容,以便对Linux系统有一定的了解.这不但可以 ...

  4. Linux学习笔记之Linux启动引导过程

    早期时,启动一台计算机意味着要给计算机喂一条包含引导程序的纸带,或者手工使用前端面板地址/数据/控制开关来加载引导程序.尽管目前的计算机已经装备了很多工具来简化引导过程,但是这一切并没有对整个过程进行 ...

  5. Linux学习笔记之Linux第一课-基本介绍

    Linux简介 Linux内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的. Linux是一套免费使用和自由传播的类Unix操作系统,是一个基 ...

  6. Linux学习笔记23——取消线程

    一 相关函数 1 发送终止信号 #include <pthread.h> int pthread_cancel(pthread_t thread); 2 设置取消状态 #include & ...

  7. Linux学习笔记(21) Linux日志管理

    1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式 ...

  8. Linux学习笔记(19) Linux服务管理

    1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服 ...

  9. Linux学习笔记之Linux添加/删除用户和用户组

    本文总结了Linux添加或者删除用户和用户组时常用的一些命令和参数. 1.建用户: adduser phpq //新建phpq用户 passwd phpq //给phpq用户设置密码 2.建工作组 g ...

随机推荐

  1. ACM/ICPC 之 四道MST-Prim解法(POJ1258-POJ1751-POJ2349-POJ3026)

    四道MST,适合Prim解法,也可以作为MST练习题. 题意包括在代码中. POJ1258-Agri Net 水题 //Prim-没什么好说的 //接受一个邻接矩阵,求MST //Time:0Ms M ...

  2. Odoo误删除服务产品造成的错误解决办法

    在Odoo8.0中删除了产品中的服务,会造成工时单模块的安装失败,信息如下所示: ParseError: "null value in column "name" vio ...

  3. java实现批量上传(swfupload)

    下载 swfupload 文件夹 里面包含handlers.js,swfupload.js,swfupload.swf 三个文件. 我的是和ssh项目整合在一起的.因为struts2的拦截器会拦截所有 ...

  4. The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.

    出现这样的错误: error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your C ...

  5. 一分钟可知css3版大白源码

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. js windows对象

    一.DOM操作 windows对象操作 document对象操作     二.属性.事件 1.window的属性: window.shuxing(属性) window.fangfa()(方法) 方法后 ...

  7. Java网络连接之HttpURLConnection 与 HttpClient

    HttpClient使用详解:http://blog.csdn.net/wangpeng047/article/details/19624529   注:HttpURLConnection输出流用ou ...

  8. Git 操作的一些场景

    1. 某些不需要的文件/文件夹,如:/build 之类,在添加对应的gitignore之前Push了,导致每次编译都会产生新的文件 解决方法:直接删掉不需要的文件/文件夹,然后push gitigno ...

  9. NYOJ题目893十字架

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAsYAAAQRCAIAAACl4dlPAAAgAElEQVR4nO3dO1Ljyv834P8myFkIsR

  10. 1.1 STL 概述

    综述   STL = Standard Template Library,标准模板库,惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Lee和David R M ...