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模式

(0)

相关推荐

  • Linux下实现MySQL数据备份和恢复的命令使用全攻略

    为了保障数据的安全,需要定期对数据进行备份.备份的方式有很多种,效果也不一样.一旦数据库中的数据出现了错误,就需要使用备份好的数据进行还原恢复.从而将损失降到最低.下面我们来了解一下MySQL常见的有三种备份恢复方式: 1.利用Mysqldump+二进制日志实现备份 2.利用LVM快照+二进制日志实现备份 3.使用Xtrabackup备份 一:实验环境介绍: 系统介绍:CentOS6.4_X64 数据库版本:mysql-5.5.33 二:基于Mysqldump命令实现备份恢复 2.1.思路概念

  • linux svn服务器搭建、客户端操作、备份与恢复

    Subversion(SVN)是一个开源的版本控制系統,管理着随时间改变的数据.这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,它会记住每一次文件的变动,这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史. 本文目录: Linux svn服务器部署 linux svn客户端命令操作 linux svn备份与恢复 一.linux svn服务器部署 1.安装svn [root@yang~]#yum install -y subversion [root@yang~]#sv

  • linux VPS之间网站数据的备份与恢复(网站迁移教程)

    本文所用命令Debian和CentOS通用,文件目录默认与LNMP相同,请做相应修改. 文中www.xxx.com绑定在VPS1的wwwroot目录上为例 1.VPS1上数据打包(备份) a.VPS1上文件数据打包(Tar命令详解 http://www.jb51.net/os/RedHat/1219.html) cd /home/wwwroot/ tar zcvf xxx.tar.gz 网站目录(如/home/wwwroot/vmvps.com) b.VPS1上MySQL数据导出 mysqldu

  • Linux备份及恢复及Linux文件权限详解

    Linux备份及恢复及Linux文件权限详解 概述 一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我们有许多工具可以用来备份文件权限,如cp.rsync.etckeeper等.如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题. 但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限:或是正在排除文件权限问题的过程中需要对文件进行ch

  • Windows或Linux系统中备份和恢复MongoDB数据的教程

    windows下面mongodb数据库备份和恢复 我可以讲数据备份到c:\data\dump目录下面,首先创建这个路径.然后进入到mongodb的bin目录下面 我的是: C:\Program Files\mongodb\bin 备份脚本是: //备份 mongodump -h 127.0.0.1:27017 -d test -o c:\data\dump 恢复脚本是: //恢复 mongorestore -h 127.0.0.1:27017 -d test --directoryperdb c

  • 详解如何备份及恢复 Linux 文件权限

    你可能听说或碰到过这样的事情:一个系统管理员菜鸟不小心输入"chmod -R 777 /"从而导致了巨大的悲剧,使得整个系统遭到了严重的破坏.在日常管理中,我们有许多工具可以用来备份文件权限,如cp.rsync.etckeeper等.如果你使用了这个备份工具,那么你的确不需要担心改变的文件权限问题. 但如果只是想暂时备份文件权限(而不是文件本身),例如:为了阻止一些目录的内容被覆盖暂时移除该目录下所有文件写的权限:或是正在排除文件权限问题的过程中需要对文件进行chmod命令操作.在这些

  • linux备份与恢复基础知识

    unix系统为每个文件都记录这三个不同的时间,第一个是mtime,即修改时间.无论何时,只要文件内容被改变,mtime的值就会被相应修改.第二个是atime,即访问时间.只要文件被访问(比如运行或读取),它就会被修改.第三个是ctime,即变更时间.当文件的属性发生变化(比如改变权限或者所有关系)时,ctime的值就会被改变.管理员用ctime来查找黑客. 备份会改变atime,tar,cpio,dd都会这样做,dump通过原始设备来读取文件系统,因此它不 会改变atime. dump的语法.

  • Linux基础知识99问(三)

    三. 走进Linux殿堂:35问 20.安装Linux,对硬件有什么要求? Linux对硬件要求很低,可以运行在386以上CPU,8M以上内存的IBM PC机上.但由于设备厂商的支持力度不够,所以Linux倒是对很多新设备的支持不是很好,新设备的驱动程序总是慢一步. 21.安装Linux需要做哪些准备? 1) 收集系统资料:记录下内存大小,CDROM接口类型,SCSI卡型号,网卡型号,鼠标类型,显卡芯片组.时钟芯片.显存大小等相关信息: 2) 检查CMOS设置,关闭病毒开发,设置其从光驱启动:

  • PHP小白必须要知道的php基础知识(超实用)

    很多人看到PHP就以为是程序员,就以为钱很多(虽然是事实),但是也要考虑下自己是不是适合这一行,知道PHP是什么吗?PHP都有什么样的功能,都能用来干嘛? PHP是什么? •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的.基于服务器端的用于产生动态网页 的.可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发. •当客户端向服务器的程序提出请求时,web服务器根据请求晌应对应 的页面,当页面中含有php脚本时,服务器会交

  • 学习shell脚本之前的基础知识[图文]

    日常的linux系统管理工作中必不可少的就是shell脚本,如果不会写shell脚本,那么你就不算一个合格的管理员.目前很多单位在招聘linux系统管理员时,shell脚本的编写是必考的项目.有的单位甚至用shell脚本的编写能力来衡量这个linux系统管理员的经验是否丰富.笔者讲这些的目的只有一个,那就是让你认真对待shell脚本,从一开始就要把基础知识掌握牢固,然后要不断的练习,只要你shell脚本写的好,相信你的linux求职路就会轻松的多.笔者在这一章中并不会多么详细的介绍shell脚本

  • Python 专题二 条件语句和循环语句的基础知识

    前面讲述了"专题一.函数的基础知识",而这篇文章讲述的Python的条件语句和循环语句的基础知识.主要内容包括: 1.条件语句:包括单分支.双分支和多分支语句,if-elif-else 2.循环语句:while的使用及简单网络刷博器爬虫 3.循环语句:for的使用及遍历列表.元组.文件和字符串 前言: 语句块 在讲诉条件语句.循环语句和其他语句之前,先来补充语句块知识.(前面讲函数时已经用到过) 语句块并非一种语句,它是在条件为真(条件语句)时执行或执行多次(循环语句)的一组语句.在代

  • Linux学习基础教程

    Linux学习基础 1.什么是Linux?  准确的说,是指Linux的kernel(系统的核心程序),其内核版权属于Linus Torvalds,在GPL(GNU General Public License)版权协议下发行, 任何人都可以自由的复制(copy), 修改(change), 套装分发(distribute),销售,但是不可以在分发时加入任何限制, 而且所有原码必须是公开的,所以任何人都可以无偿取得所有执行文件和原代码.  对于Linux用户和系统管理员来说,Linux是指包含Li

  • linux操作系统原理 linux系统基础教程

    本篇文章系统的给大家讲述linux操作系统原理,这是一篇非常好的linux系统基础教程,我们总结了相关的全部精选内容,一起来学习下. linux操作系统原理文字版 一.计算机经历的四个时代 1.第一代: 真空管计算机,输入和输出:穿孔卡片,对计算机操作起来非常不便,做一件事可能需要十几个人去共同去完成,年份大概是:1945-1955.而且耗电量特别大,如果那个时候你家里有台计算机的话,可能你一开计算机你家的电灯泡亮度就会变暗,哈哈~ 2.第二代: 晶体管计算机,批处理(串行模式运行)系统出现.相

  • 3000字扫盲shell基础知识(新手必备)

    不论前端还是后端,再学会Linux的基础上,还应该学会写一些简单的Shell.不止是工作,日常中想做一些东西,如果手动做就很累人也费时间,如果你会用Shell脚本处理就很简单了,本文普及的shell的一些基础知识.后面还会持续更新. shell基础语法之变量 shell 变量命名 变量只能由大小写字母,数字和下划线组成. 变量名称不能以数字开头. 变量可以存储数字类型或者字符串类型. 变量赋值等号两边不能有空格. 字符串的变量可以用单引号或者双引号括起来. 定义变量: ➜ ~ name="xia

  • MySQL 数据库的基础知识

    目录 1. 认识数据库 1.1 数据库和数据结构的关系 1.2 为什么需要数据库 1.3 数据库的存储 2. SQL 2.1 介绍 2.2 分类 3. 数据库的类别 3.1 关系型数据库 3.2 非关系型数据库 3.3 区别 4. MySQL 的程序结构 4.1 客户端和服务器 4.2 MySQL 的客户端-服务器结构 4.3 MySQL 服务器 1. 认识数据库 1.1 数据库和数据结构的关系 数据结构: 是指相互之间存在一种或多种特定关系的数据元素的集合,是一个抽象的学科 我们熟知的数据结构

  • Asp.net基础知识扫盲篇

    asp.net基础知识篇-中文扫盲篇 1..NET是什么? .Net全称.NET Framework是一个开发和运行环境, 该战略是微软的一项全新创意, 它将使得"互联网行业进入一个更先进的阶段, .NET不是一种编程语言. 简单说就是一组类库框架, .NET开发支持C#.VB.NET.J#.Jsript和Managed C++等. C#是.NET Framework框架支持的一种主力开发语言, 可用于开发ASP.NET网站, Windows 程序,控制台程序,甚至于手机软件 2.ASP.NET

随机推荐