Linux学习笔记(23) Linux

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:备份分区

# 备份命令。先执行一次完全备份,并压缩和更新备份时间
[[email protected] ~]# dump -0uj -f /root/boot.bak.bz2 /boot/
......
  DUMP: Wrote 22370kB uncompressed, 20288kB compressed, 1.103:1
  DUMP: DUMP IS DONE

# 查看备份时间文件
[[email protected] ~]# cat /etc/dumpdates
/dev/sda1 0 Sun Aug 16 06:54:09 2015 +0800
/dev/sda1 1 Tue Aug  4 02:33:29 2015 +0800

#复制日志文件到boot分区
[[email protected] ~]# cp install.log /boot/

#增量备份boot分区,并压缩
[[email protected] ~]# dump -1uj -f /boot/boot.bak1.bz2 /boot/

# 查看文件的大小
[[email protected] ~]# ll -h /root/
-rw-r--r--. 1 root root  18K Aug 16 07:00 boot.bak1.bz2
-rw-r--r--. 1 root root  20M Aug 16 06:54 boot.bak.bz2

# 查询分区的备份时间及备份级别的
[[email protected] ~]# dump -W
Last dump(s) done (Dump ‘>‘ file systems):
> /dev/sda5     (     /) Last dump: never
  /dev/sda1     ( /boot) Last dump: Level 1, Date Sun Aug 16 06:58:05 2015
> /dev/sda2     ( /home) Last dump: never
> /dev/sdb1     (/root/disk1) Last dump: never
> /dev/sdb5     (/root/disk5) Last dump: never

例2:备份文件或目录

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

(2) restore命令

恢复命令restore的格式为:

restore [模式选项] [选项]

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

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

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

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

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

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

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

#把boot目录中内核镜像文件改个名字
[[email protected] ~]# mv /boot/vmlinuz-2.6.32-431.el6.i686 /boot/vmlinuz-2.6.32-431.el6.i686.bak

#restore发现内核镜像文件丢失
[[email protected] ~]# restore -C -f /root/boot.bak.bz2
Dump tape is compressed.
Dump   date: Sun Aug 16 06:54:09 2015
Dumped from: the epoch
Level 0 dump of /boot on localhost.localdomain:/dev/sda1
Label: none
filesys = /boot
restore: unable to stat ./vmlinuz-2.6.32-431.el6.i686: No such file or directory
Some files were modified!  1 compare errors

例2:查看模式

[[email protected] ~]# restore -t -f /root/boot.bak.bz2
Dump tape is compressed.
Dump   date: Sun Aug 16 06:54:09 2015
Dumped from: the epoch
Level 0 dump of /boot on localhost.localdomain:/dev/sda1
Label: none
         2      .
        11      ./lost+found
     32385      ./grub
     32408      ./grub/grub.conf
     32386      ./grub/splash.xpm.gz
     32392      ./grub/menu.lst
     32393      ./grub/device.map
     32394      ./grub/stage1
     32395      ./grub/stage2
     32396      ./grub/e2fs_stage1_5
     32397      ./grub/fat_stage1_5
     32398      ./grub/ffs_stage1_5
     32399      ./grub/iso9660_stage1_5
     32400      ./grub/jfs_stage1_5
     32401      ./grub/minix_stage1_5
     32402      ./grub/reiserfs_stage1_5
     32403      ./grub/ufs2_stage1_5
     32404      ./grub/vstafs_stage1_5
     32405      ./grub/xfs_stage1_5
     32406      ./grub/.grub.conf.swp
     32387      ./efi
     32388      ./efi/EFI
     32389      ./efi/EFI/redhat
     32390      ./efi/EFI/redhat/grub.efi
        12      ./.vmlinuz-2.6.32-431.el6.i686.hmac
        13      ./System.map-2.6.32-431.el6.i686
        14      ./config-2.6.32-431.el6.i686
        15      ./symvers-2.6.32-431.el6.i686.gz
        16      ./vmlinuz-2.6.32-431.el6.i686
        17      ./initramfs-2.6.32-431.el6.i686.img

例3:还原模式

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

#先还原完全备份的数据
[[email protected] ~]# mkdir boot.test
[[email protected] ~]# cd boot.test/
#解压缩
[[email protected] boot.test]# restore -r -f /root/boot.bak.bz2
Dump tape is compressed.

#再恢复增量备份数据
[[email protected] boot.test]# restore -r -f /root/boot.bak1.bz2
Dump tape is compressed.
./boot.bak1.bz2: (inode 19) not found on tape

#(2) 还原/etc目录的备份etc.dump.bz2
restore -r -f etc.dump.bz2
时间: 2024-10-12 04:34:22

Linux学习笔记(23) Linux的相关文章

Linux学习笔记:Linux发行版

Linux发行版 什么是Linux distribution – Linux的本质来说,它只是操作系统的核心(内核),负责控制硬件.管理文件系统.程序迚程等,并丌给用户提供各种工具和应用软件. – 人们以Linux核心为中心,再集成搭配各种各样的系统管理软件戒应用工具软件组成一套完整的操作系统,如此的组合便称为Linux发行版. Linux主要发行版 RedHat Linux:红帽企业级Linux是系统管理员的第一选择,它有众多的程序包,还有非常到位的支持,由于该发行版是商业化产品,所以丌是免费

Linux学习笔记:Linux系统的进程调度(任务调度)

今天我们学习了Linux系统的进程调度,进程调度是为了在未来某个时间点,让系统自动执行我们事先编写好的命令或脚本的列表,从而使得即使用户不在计算机旁边也可以按时完成任务.这样有利于我们更好的进行任务计划以及在需要执行任务的时候自动完成我们设定好的命令,从而完成任务. 当然为了能够进行进程调度,就必须要有一种机制能够识别事件发生的时间并且能够运行用户所预期的命令:这种机制在Linux中是通过特定的守护进程来实现的.这类的进程有: atd:将预先编写好的命令在未来某个时间点执行一次. crond:

[转载]【Linux学习笔记】Linux C中内联汇编的语法格式及使用方法(Inline Assembly in Linux C)

在阅读Linux内核源码或对代码做性能优化时,经常会有在C语言中嵌入一段汇编代码的需求,这种嵌入汇编在CS术语上叫做inline assembly.本文的笔记试图说明Inline Assembly的基本语法规则和用法(建议英文阅读能力较强的同学直接阅读本文参考资料中推荐的技术文章 ^_^).        注意:由于gcc采用AT&T风格的汇编语法(与Intel Syntax相对应,二者的区别参见这里),因此,本文涉及到的汇编代码均以AT&T Syntax为准. 1. 基本语法规则    

Linux学习笔记(六)-Linux服务程序的安装和卸载

Linux操作系统的运行级别 1 单用户模式,root权限,用于系统维护,禁止远程登录,就像Windows下的安全模式登录. 2 多用户模式,没有NFS网络支持 3 完整的多用户文本模式,有NFS,登录后进入控制台命令行模式 4 系统未使用,保留一般不用,在一些特殊情况下可以使用它来做一些事情 5 图形化模式,登陆后进入图形GUI模式,X Window系统 6 重启模式,默认运行级别不能设为6,否则不能正常启动 显示当前运行级别命令: runlevel;进入其他运行级别: init level

Linux学习笔记(五)-Linux应用程序的安装和卸载

Linux应用程序安装概述 Windows下安装程序步骤 在program files文件夹下建立程序文件夹(Linux下的/user) copy相关动态链接库(依赖类库)到程序文件夹或者系统文件夹下,比如dll文件 copy可执行文件到程序文件夹下,比如exe文件 copy配置文件到程序文件夹或者系统文件夹下,比如Ini文件 把启动配置和程序依赖的配置放到注册表(Linux没有注册表) 如果有自定义服务程序的,注册并启动服务程序 Linux安装原理:cp类库,可执行程序,配置文件到相应目录,根

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

1. 简介 (1) 日志服务 在CentOS 6.x中日志服务已经由rsyslogd取代了原先的syslogd服务.rsyslogd日志服务更加先进,功能更多.但是不论该服务的使用,还是日志文件的格式其实都是和syslogd服务相兼容的,所以学习起来基本和syslogd服务一致. rsyslogd的新特点: 基于TCP网络协议传输日志信息:更安全的网络传输方式:有日志消息的及时分析框架:后台数据库:配置文件中可以写简单的逻辑判断:与syslogd配置文件相兼容. 1)确定服务启动 ps aux

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

1. 服务的分类 Linux服务可分为RPM包默认安装的服务和源码包安装的服务.前者可细分为独立的服务(直接作用于内存中)和基于xinetd服务.xinetd本身是独立的服务,其唯一的功能是管理其他服务.优点是管理的服务不占用内存,缺点是响应缓慢. (1) 启动和自启动 服务启动就是在当前系统中让服务运行,并提供其功能.服务的自启动是指让服务在系统开机或重启之后,随着系统的启动而自动启动服务. (2) 查询已安装的服务 RPM包安装的服务可通过chkconfig --list命令查看,其作用是查

Linux学习笔记(22) Linux启动管理

1. 系统运行级别 运行级别 含义 0 关机 1 单用户模式,可想象为windows的安全模式,主要用于系统修复 2 不完全的命令行模式,不含NFS服务 3 完全的命令行模式,就是标准字符界面 4 系统保留 5 图形模式 6 重启动 (1) 运行级别命令 runlevel #查看运行级别命令 N表示进入3前面的级别 init 运行级别 #改变运行级别命令 (2) 系统默认运行级别 在配置文件/etc/inittab中进行修改即可 id:3:initdefault: #系统开机后直接进入哪个运行级

Linux学习笔记7——linux中的静态库和动态库

一.静态库的编译 静态库的编译过程如下: 1.编译成目标文件 这里有一个可选项-static,调用格式:gcc -c -static 代码文件名.c 2.归档成静态库 A.归档的工具是ar工具,使用ar -r可以将文件归档成静态库,调用格式:ar -r 静态库文件 被归档的文件 例如:我们这有两个C文件,分别为test1.c和test2.c 首先我们将它编译成目标文件:gcc -c -static test1.c gcc -c -static test2.c 此时会产生两个文件,分别为test1