linux备份与恢复基础知识_Linux

unix系统为每个文件都记录这三个不同的时间,第一个是mtime,即修改时间。无论何时,只要文件内容被改变,mtime的值就会被相应修改。第二个是atime,即访问时间。只要文件被访问(比如运行或读取),它就会被修改。第三个是ctime,即变更时间。当文件的属性发生变化(比如改变权限或者所有关系)时,ctime的值就会被改变。管理员用ctime来查找黑客。
备份会改变atime,tar,cpio,dd都会这样做,dump通过原始设备来读取文件系统,因此它不
会改变atime.
dump的语法。
dump levelunbdsf blkg-factor density size device-name file_system
例子:
把/home完全备份到一个称做/dev/rmt/0cbn的本地磁带驱动器上。
# dump 0unbdsf 126 141000 11500 /dev/rmt/0cbn /home
把/home完全备份到一个称做/backup/home.dump的光学CD驱动器上。
# dump 0unbdsf 126 141000 11500 /backup/home.dump /home
以上命令由三个不需要参数的选项(0,u and n)以及四个需要一个协作参数的选项(b,d,s and
f)组成。
命令选项:
0---9 指定DUMP应该进行的备份级别。
b 指定DUMP就应该使用的块因子。
u 指定DUMP更新dumpdates文件。
n 完成操作时要通知操作员组的成员。
d(密度) and s(大小) 告诉DUMP备份卷有多大,DUMP用这些数字来估计要使用
何种磁带。
f 告诉DUMP要使用什么设备。
W,w 告诉DUMP执行一次空运行来告诉你什么文件系统需要备份。
要避免跨卷DUMP。
restore的语法
restore [trxi]vbsfy blocking-factor file-number device-name
例子:
要恢复一个使用块因子32创建的DUMP磁带备份(位于/dev/rmt/0cbn)的全部内容。
# restore rvbfy 32 /dev/rmt/0cbn
有一个使用块因子32创建的位于/dev/rmt/0cbn中的DUMP磁带,如果想从该磁带中恢复文
件/etc/hosts and /etc/passwd.
# restore xvbfy 32 /dev/rmt/0cbn ./etc/hosts ./etc/passwd
创建内容表
# restore tfy device >/tmp/dump.list
命令选项:
决定restore的类型
t 显示卷的内容。
r 指明卷的整个内容应该被恢复到当前工作目录下。
x 只提取命令后面所列的文件。
i 允许执行交互式恢复。
决定restore的行为
v 指定详细输出
s 读取之前跳过的磁带文件个数
b 块因子
f 备份驱动器的文件名。
y 恢复过程禁止询问。
使用cpio工具进行备份和恢复
备份的语法
cpio -o[aBcv]
恢复的语法
cpio -i[Btv][patterns]
例子:
在一个本地磁带上创建/home的一个完全备份。
# cd /home
# touch level.0.cpio.timestamp 使增量备份成为可能。建立时间参考点。
# find . -print|cpio -oacvB > device device可以是一个光学或CD设备。
# touch level.1.cpio.timestamp 增量备份的时间参考点。
# find . newer level.1.cpio.timestamp -print|cpio -oacvB >device
在远程磁带上创建/home的一个完全备份。
# cd /home
# find . -print|cpio -oavB|(rsh remote_system dd of=device bs=5120)
cpio备份用绝对路径(find /home/file)会限制恢复时的灵活性。它只能恢复到/home/file。
如果用相对路径(find home/file)就能把它恢复到任何地方。
命令选项
备份类
o 创建一个备份
a 把atime重置成备份前的值
c 用ASCII首部格式
v 用于详细信息输出
B,C 指定块大小,它们是互斥的。
恢复类
i 指定输入模式,必须是命令列表的第一个。
t 生成内容表,并不实际操作。
k 跳过坏区
d 在需要时创建目录
m 恢复文件备份时的原始修改时间,否则的话,默认动作是把恢复后的文件的修改时间设
为新修改时间
u 无条件覆盖所有文件
"*pattern" 恢复匹配该模式的文件
f "*pattern" 恢复不匹配该模式的文件
r 交互式重命名文件名
2004/02/12
tar命令的基本语法
# tar -[cx]vf device pattern
命令选项
c 创建一个存档
v 详细信息输出
W 对存档文件进行校验
b 块因子
f 输出到DEVICE参数所指的设备,DEVICE可以是文件,光盘,磁带或者标准输出
(stdout)
pattern 模式匹配如“a*”
x 恢复一个存档
m 正常情况下,恢复后的文件会保留它们在存档前的修改时间,选用该选项把修改时间改
成恢复时间,这与CPIO命令的行为完全相反。
o 把恢复的文件的所有者设置成你。这是对于非root用户的默认行为,除非使用该选项,
否则,root提取的文件都会归保存在tar文档中的用户和组所有。
p 默认情况下,tar不会恢复所有的文件属性。文件的许可是由当前umask决定,而不是
由原始文件的许可决定,包括setuid and sticky位。这个选项告诉tar用原始文件的许可。
d 能够对存档和文件系统进行一个diff比较。
a 重设置访问时间
F 在卷结束时运行一个脚本,这可用于进行自动卷交换。
Z z 自动调用compress and gzip程序
dd命令基本语法
# dd if=device of=device bs=blocksize
if= 指定输入文件,即dd从中拷贝数据的文件。它可以是需要备份的文件或者原始分区,
如果从stdin中读取数据,那么该参数不必指定。
of= 指定输出文件,即dd发送数据的目的地。它可以是需要备份的文件或者原始分区,如
果从stdout中读取数据,那么该参数不必指定。
bs 指定块大小,即一次i/o操作中传输的数据量。
使用dd和rsh and ssh进行远程备份(GNU tar and GNU cpio命令能读取远程设备)
读取远程设备上的备份
# rsh remote_host "dd if=device ibs=blocksize" |tar xvBf -
# ssh remote_host "dd if=device bs=blocksize" |tar xvBf -
# ssh remote_host "dd if=device bs=blocksize" |restore rvf -
# ssh remote_host "dd if=device bs=blocksize" |cpio -itv
把备份写到远程设备上
# tar -cvf - . |(rsh remote_system dd of=device obs=block_size)
# dump 0bdsf 64 100000 100000 - |ssh remote_host "dd if=device bs=64k"
# tar -cvf - |ssh remote_host "dd if=device bs=10k"
# cpio -oacvB |ssh remote_host "dd if=device bs=5k"
LINUX裸机恢复方法:
1、备份重要的元数据 # fdisk -l >/etc/fdisk-l.txt
2、用本地工具备份系统 # cd / ; tar cf - . |gzip -c >/backup/xxx.tar.gz
3、系统损坏,用其它介质引导系统(引导盘,KNOPPIX等)。
4、用元数据对硬盘这行分区并格式化。
解出元数据文件 #gzip -dc /xxx/xxx.tar.gz|tar -xvf - ./etc/fstab ./etc/fdisk-l.txt
分区 # fdisk /dev/sda
创建文件系统 # mke2fs /dev/sda1
5、恢复操作系统信息 # gzip -dc /xxx/xxx.tar.gz|tar xf -
6、在新根磁盘上恢复引导块
ORACLE(离线)冷备份
1、关闭数据库,中止所有允许访问数据库的进程。
2、通过备份工具对文件进行备份(TAR,DD,CPIO)
ORACLE(在线)热备必要步骤
1、请求ORACLE的所有表空间及数据文件的列表。
2、请求存储ORACLE归档日志的位置。
3、请求存储ORACLE控制文件的位置(可选)。
4、将所有表空间置于备份模式,可且用ALTER TABLESPACE tablespace_name BEGIN
BACKUP命令。
5、将每个表空间的数据文件复制到磁盘或磁带上。
6、去除各个表空间的备份模式,可使用ALTER TABLESPACE tablespace_name END
BACKUP命令。
7、切换重做日志文件。
8、备份控制文件,可使用BACKUP CONTROL file命令。
9、手工复制控制文件(可选)。
10、手工复制在线重做日志。
11、确保所有在备份期间的归档重做日志均保存完好。
说明:
在表空间被置于备份模式时,会有以下事件发生:
1、ORACLE检查点表空间,将所有改变从内存存储到磁盘上。
2、表空间中各个数据文件的SCN标识都“冻结”在当前值,即使对数据文件进一步更新,
SCN值都不会被更新,直到去除备份模式。
3、ORACLE从记录完整的更改数据库块的映像转向记录重做日志。不再记录某特定的块是
怎样改变的,而是记录整个改变后块的映像。这就是重做日志在热备份过程中迅速增长的原
因。
自动备份的ORABACK.SH脚本支持特性:
1、备份磁盘或磁带。
2、自动检测数据库配置。
3、基于文件系统或原始分区备份数据库。
4、多任务,可以将备份时间减少到75%。
5、使用邮件发送成功或错误通知。
6、备份ORATAB中的一个或多个实例。
使用方法介绍
1、备份所有实例;
# ORABACK.SH
2、备份一个或更多实例,要带上参数ORACLE_SID;
# ORABACK.SH ORACLE_SID1 ORACLE_SIDn
3、如果要在ORABACK.CONF中指定的某一时刻调度备份,则带上at:
# ORABACK.SH at ORACLE_SID1 ORACLE_SIDn
安装ORABACK.SH,首先将ORABACK.SH、CONFIG.GUESS以及LOCALPATH.SH放在一
个目录下,然后核对脚本头部特定位置的下列值。
BINDIR 安装ORABACK.SH的目录。
ORATAB 设为ORACLE的ORATAB文件的名称和位置。
ORACONF 设为ORABACK.CONF文件的名称和位置。
ORABACK.CONF配置
1、HOSTNAME.MASTER 系统主机名,去掉域名(如AAA.DOMAIN.COM 变成AAA)
2、SKIP 如果今天晚上跳过该主机上的所有备份,可以在这里输入“SKIP”
3、COLD DAY 进行冷备份的日期,可以是每周的某一天(FRI,即星期五),或每月
的某一天(03,即第三天)。
4、COLD TIME 进行冷备份的时间,采用24小时制。
5、HOT TIME 一天中进行热备份的时间,采用24小时制。
6、TYPE DEVICE 非回绕磁带设备,备份到磁带。(如只允许磁盘备份,则保持空白)。
7、USERS 充许运行脚本的用户名列表,以|隔开,如ORACLE|DBA,空白表示仅允许
ORACLE用户运行。
8、PARALLELISM 同时运行数据文件拷贝数,空缺 = 1.
9、BACKUP DIR 备份目录。
10、Y 表示在写入磁盘前先对文件进行压缩。
11、MAIL DS 邮件ID列表,用来发关备份成功与否的通知,之间用“,”号分开。
进行完全逻辑备份时需要RESTRICT模式。关闭数据库,然后用STARTUP RESTRICT OPEN
打开数据库,再进行完全导出。导出完成后用ALTER DATABASE DISABLE RESTRICTED
SESSION恢复连接。
集萃
镜像重做日志 一个ACTIVE或CURRENT日志组的所有成员均丢失,会造成数据丢失。
镜像重做日志,所有日志组成员均丢失的可能性就极小。
观察告警日志 镜像控制文件 使用ARCHIVELOG模式

时间: 2016-03-24

linux备份与恢复基础知识_Linux的相关文章

linux防火墙基础知识以及如何管理设置iptables规则

一.linux防火墙基础 防火墙分为硬件防火墙和软件防火墙. 1.概述 linux 防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙. 包过滤机制:netfilter 管理防火墙规则命令工具:iptables netfilter 指linux内核中实现包过滤防火墙的内部结构,不依程序或文件的形式存在,属于"内核态"的防火墙功能体系 iptables 指管理linux防火墙的命令工具,属于"用户态"的防火墙管理体系 2.ipta

Linux 脚本编写基础知识_linux shell

1. Linux 脚本编写基础 1.1 语法基本介绍 1.1.1 开头 程序必须以下面的行开始(必须放在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可执行:编译 chmod +x filename 这样才能用./filename 来运行 1.1.2 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束.我们真诚地建议您在程

Linux系统管理基础知识

一.用户账号管理级 不管是Linux还是Windows,对于用户账号的管理都是重中之重,因为它是进入系统的第一道门,作为一个运维人员,必须掌握对用户账号的基本管理,什么样的用户账号有什么样的权限,不该有什么样的权限,这个要很明确的.当某个用户不应该再访问系统的时候,必须禁用该用户的账号.没有用的用户账号,他就没有存在的必要,否则可能会是你某天早上醒来会的第一个噩梦.当然,再删除账号以前,要将该用户账号下的所有文件进行备份并转移到其他位置. 学会在字符命令行下的用户账号管理,主要在Linux环境下

Linux操作系统基础知识之二:内存寻址

Q1.        什么是物理地址?什么是虚地址?什么是线性地址? A: 1)        将主板上的物理内存条所提供的内存空间定义为物理内存空间,其中每个内存单元的实际地址就是物理地址: 2)        将应用程序员看到的内存空间定义为虚拟地址空间(或地址空间),其中的地址就叫做虚拟地址(或虚地址),一般用"段:偏移量"的形式来描述,如A815:CF2D: 3)        线性地址空间是指一段连续的.不分段的.范围为0~4GB的地址空间,一个线性地址就是线性地址空间的一个

Linux操作系统基础知识之一:Linux操作系统概述

 Q1.        什么是GNU?Linux与GNU有什么关系? A: 1)        GNU是GNU is Not Unix的递归缩写,是自由软件基金会(Free Software Foundation,FSF)的一个项目,该项目已经开发了许多高质量的编程工具,包括emacs编辑器.著名的GNU C和C++编译器(gcc和g++): 2)        Linux的开发使用了许多GNU工具,Linux系统上用于实现POSIX.2标准的工具几乎都是由GNU项目开发的:Linux内核.GN

Linux操作系统基础知识之三:进程

Q1.        程序与进程的概念分别是什么?为什么要引入"进程"的概念? A: 1)        程序是一个普通文件,是机器代码指令和数据的集合,这些指令和数据存储在磁盘上的一个可执行映像中,可执行映像(executable image)就是一个可执行文件的内容: 2)        进程代表程序的执行过程,它是一个动态的实体,随着程序中指令的执行而不断地变化,在某个时刻进程的内容被称为进程映像(process image): 3)        程序的执行过程可以说是一个执行

Linux操作系统基础知识之七:内核中的同步

Q1.        什么是临界区?什么是竞争状态?什么是同步? A: 1)        临界区(critical regions)就是访问和操作共享数据的代码段,多个内核任务并发访问同一个资源通常是不安全的: 2)        如果两个内核任务可能处于同一个临界区,就是一种错误现象:如果确实发生了这种情况,就称它为竞争状态: 3)        避免并发和防止竞争状态称为同步(synchronization).   Q2.        简要介绍一下死锁及避免死锁的方法. 答:死锁包括自死

Linux操作系统基础知识之八:文件系统

Q1.        Linux目录树结构是怎样的?它与Windows的目录树结构有什么区别?为什么Linux的文件系统采用固定的目录形式? A:文件是一个抽象的概念,它是存放一切数据或信息的仓库: 1)        Linux的目录树结构为:根目录(/)在上,其它的平行在下: 2)        Windows操作系统也是采用树型结构,但其树型结构的根是磁盘分区的盘符,有几个分区就有几个树型结构,它们之间的关系式并列的:而在Linux中,无论操作系统管理几个磁盘分区,这样的目录树只有一个:

Linux操作系统基础知识之九:设备驱动

Q1.        为什么把设备分为"块设备"和"字符设备"两大类? A: 1)        Linux将设备看成文件,具有三方面的含义:第一,每个设备都对应一个文件名,在内核中也就对应一个索引节点:第二,对文件操作的系统调用大都适用于设备文件:第三,从应用程序的角度看,设备文件的逻辑空间是一个线性空间:对于同一个具体的设备而言,文件操作和设备驱动是同一个事物的不同层次,概念上可以将一个系统划分为应用.文件系统和设备驱动三个层次: 2)        Linux