Linux学习笔记(23) Linux备份

时间:2022-03-01 22:58:22

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学习笔记&lpar;21&rpar; Linux日志管理

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

  8. Linux学习笔记&lpar;19&rpar; Linux服务管理

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

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

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

随机推荐

  1. 使用dispatch&lowbar;semaphore&lowbar;t实现event的基本功能

    在Windows平台下, 对线程的同步控制,可以有Critical Section,Mutex,Semaphore,Event 等方式. 在IOS平台,使用GCD进行简单的多线程编程时,可以使用dis ...

  2. Python判断是否是数字(无法判断浮点数)&lpar;已解决&rpar;

    s为字符串s.isalnum() 所有字符都是数字或者字母s.isalpha() 所有字符都是字母s.isdigit() 所有字符都是数字s.islower() 所有字符都是小写s.isupper() ...

  3. Unity3d之音效播放和调用手机震动

    http://blog.csdn.net/sunshine_1984/article/details/12943979 今天研究了下Unity3d音效播放相关内容,整理下实现细节. 1,添加音效文件到 ...

  4. 转接口IC GM7122:BT656转CVBS芯片 视频编码电路

    1 概述    视频编码电路主要实现接收8位CCIR656格式的YUV数据,(例如MPEG解码数据),并编码成CVBS信号,经过D/A转换后输出.基本的编码功能包括副载波产生,色差信号调制,同步信号内 ...

  5. PHP实现curl和snoopy类模拟登陆方法

    Snoopy.class.php下载 方法/步骤   第一种:使用snoopy类实现模拟登陆 1.在网上下载一个Snoopy.class.php的文件   2.代码实现: <?php set_t ...

  6. nested exception is java&period;sql&period;SQLException&colon; Incorrect string value&colon; &&num;39&semi;&bsol;xE7&bsol;x99&bsol;xBB&bsol;xE9&bsol;x99&bsol;x86&period;&period;&period;&&num;39&semi; for column &&num;39&semi;image&&num;39&semi; at row 1

    HTTP Status 500 - Hibernate operation: could not insert: [cn.itcast.shop.product.vo.Product]; uncate ...

  7. 21 Survival of Desert Life 沙漠生命的延续

    Survival of Desert Life 沙漠生命的延续 ① Some desert animals can survive the very strong summer heat and dr ...

  8. 关于ASP&period;NET MVC的Html&period;BeginForm&lpar;&rpar;方法

    http://zhidao.baidu.com/link?url=9j53URZJv2B9W-TPtQAaKCRbqIcYy2r3WNO0NDzciTON0EYj5Hhd3rl3UlIllK1CqOC ...

  9. 第二百六十节,Tornado框架-内置模板方法

    Tornado框架-内置模板方法 直接在html文件使用,不需要传值 Tornado默认提供的这些功能其实本质上就是 UIMethod 和 UIModule,也就是Tornado框架定义好的html文 ...

  10. 如何用css做一个爱心

    摘要:HTML的标签都比较简单,入门非常的迅速,但是CSS是一个需要我们深度挖掘的东西,里面的很多样式属性掌握几个常用的便可以实现很好看的效果,下面我便教大家如何用CSS做一个爱心. 前期预备知识: ...