ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:23.59KB ,
资源ID:4386279      下载积分:2 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4386279.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(磁带配置工具.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

磁带配置工具.docx

1、磁带配置工具第四章 配置工具 下载 star 源代码 无论您用什么介质备份(磁带或者别的),您都需要 star 程序。您可以在 ftp:/ftp.fokus.gmd.de/pub/unix/star/alpha/ 找到最新的 star 源代码(目前最新版本是 star-1.3a8.tar.gz)。下载了这个程序以后,请按照以下步骤安装 star 编译. # tar xzvf star-1.3a8.tar.gz # cd star-1.3 # make 在所有内容编译好后,我们就要安装 star 了。千万不要运行“make install”;它会安装几个我们并不想安装的附加组件。请您依据下一屏内

2、容进行安装。 .和安装 # install -m0755 star/OBJ/*/star /usr/bin # cd ./. 现在请您到“star”源目录下。然后,如果您的系统 FHS 2.1 兼容并且手册页存在 /usr/share/man 目录下,请把最后一行正确地修改为: # gzip -9 star.1 # install -m0644 star.1.gz /usr/man/man1 mt 现在,轮到 mt 命令了。mt 用于执行各种各样的磁带功能,如回卷、弹出、前进到下一文件标记等。由于 mt 与磁带相关,只有在要把数据直接备份到磁带上的时候您才会用到这个命令。可能您已经安装了某一版

3、本的 mt;请确认它支持“setblk”命令(输入“man mt”试试看)。如果不支持,或者您只是想确保运行的是可用的最新最好的 mt 版本,您可以在下面的指导下从源码开始安装 mt-st-0.6。 下载 mt 首先,从 http:/www.ibiblio.org/pub/linux/system/backup/ 下载 mt-st 源码(最新版本是 mt-st-0.6.tar.gz)。然后,按照下一屏上的步骤解压缩、编译和安装 mt 的编译和安装 # tar xzvf mt-st-0.6 # cd mt-st-0.6 # make # install -m0755 mt /usr/sbin #

4、 install -m0755 stinit /usr/sbin # gzip -9 mt.1 stinit.8 # install -m0644 mt.1.gz /usr/man/man1 # install -m0644 stinit.8.gz /usr/man/man8 现在,mt(和 stinit)就会被安装了。我建议您看一下 /usr/bin、/bin 以及 /sbin 目录下是否仍有旧的 mt 文件副本,如果有的话,一定要重命名为 mt.old。安装好了以后,接下来我们要把备份工具汇总一下。 第五章 磁带驱动器技术 块大小 在开始动手写备份脚本之前,了解磁带上的数据存储格式是很重要

5、的。Linux 把数据以相同大小的块(也叫做记录)的格式写到磁带上。每两个记录之间都会有一个叫做记录间空白(inter-record gap)的特殊标记被写到磁带上。因此,当磁带上存储了 300Mb 的备份数据时,这些数据就被转换成一些大小相同的记录,每两条记录之间由记录间空白隔开。 Linux 块大小 Linux 系统的记录块大小缺省为 1kb。现在磁带驱动器和磁带每秒钟能处理数兆字节的数据流,1kb 大小的块绝不是最佳选择,原因有以下两点。第一,每一条记录间空白都要占用磁带空间,因此文件块越小,“实际的”磁带容量越小。而且,现在大多数磁带驱动器都针对较大的块做了优化。 优化配置块大小 例如

6、,我的 Ecrix VXA-1 磁带驱动器是对 64kb 的块作了优化的,使用这么大的块备份比用缺省大小(1kb)的块速度快了大约50%。要想知道您的磁带驱动器的最佳的块大小,最好是去访问 http:/www.linuxtapecert.org。如果在那里找不到所要的资料,可以向制造商核查 或者只需对不同大小的块做一些试验。我马上就告诉您怎样设置块大小。 文件标记 到目前为止,我们已经知道如何把单堆的数据写到磁带上 分解成许多小的块,这些块被记录间空白分隔开来。但是您怎么才能把多堆的数据写到磁带上呢?比如说,您想把两个存档文件依次写到磁带驱动器上。事实上,这个过程非常简单,它依赖于一个特殊的磁

7、带标识,叫做文件标记。 两种设备 要想理解文件标记,先明白磁带设备的两种不同类型,即回卷设备和非回卷设备之间的区别是非常重要的。在示例中,我们使用的是 SCSI 磁带,因此回卷设备和非回卷设备分别为 /dev/st0 和 /dev/nst0。 回卷设备 下面是关于回卷设备(/dev/st0)是如何工作的。我们假定在驱动器里有一盘回卷磁带,那么您就可以象下面这样进行一次完整的系统备份: # cd / # star -cv -f /dev/st0 . 大量的记录以及记录间空白被写到磁带上。备份完成以后,在磁带上写上文件标记,并且磁带被回卷。 非回卷设备 但是如果我们用的是 /dev/nst0,磁带

8、就不会回卷 而会刚好停在文件标记的后面,这样我们就可以把多个文件存在一盘磁带上了。假定磁带驱动器里有一盘回卷过的磁带,执行以下命令: # cd / # star -cv -V pat=home/* -V pat=tmp/* -V pat=proc/* -f /dev/nst0 . # cd /home # star -cv -f /dev/nst0 . 第一个 star 命令会把除了 /home、/tmp 和 /proc 目录下的文件之外的所有文件的备份 dump 到磁带上。备份完成以后,文件标记会被写到磁带上。然后,开始进行包括 /home 目录树下所有内容在内的另一份备份。在这份备份完成之

9、后,也会写上一个文件标记。 回卷 关于这一点,您可以键入以下内容回卷磁带: # mt -f /dev/nst0 rewind 或者,您可以键入以下内容回卷并弹出磁带: # mt -f /dev/nst0 offline 多存档文件备份的优点 那么,前面的示例中所采用的双存档文件备份究竟有哪些优点呢?当然有。我们在第一份备份中包括了除 /tmp、/proc 和 /home 之外的所有内容,说明这份备份包括系统恢复和重新运行需要的所有文件。这样,如果硬盘驱动器出了故障的话,您可以用第一份存档文件在新的硬盘驱动器上恢复系统。然后,您可以在恢复后的 OS 上重新引导,并从另外一份存档文件恢复用户数据。

10、而且,如果只需要恢复被用户偶然删除的一个文件,您可以把它从第二份存档文件上解压缩,并且 tar 命令并不一定要读取所有的系统文件。 第六章 MT的功能 访问磁带上的存档文件 正如您所看到的,在一盘磁带上同时存两份存档文件简单易行。但是,怎样才能访问这些数据呢?幸好,“mt”命令来帮忙了。要输出磁带上的第二份存档文件,您可以键入: # mt -f /dev/nst0 asf 1 # star -tv -f /dev/nst0 “mt asf”命令先回卷磁带,然后前进到您指定的文件标记号。您会发现,当这两份存档文件在同一磁盘文件系统时,它们没有相应的文件名 相反的,mt 使用从零开始的数字访问它们

11、。 mt fsf 您也可以象下面这样,通过两次 mt 命令来实现: # mt -f /dev/nst0 rewind # mt -f /dev/nst0 fsf 1 # star -tv -f /dev/nst0 这一次,我们利用“fsf”命令前进到磁带当前位置以后的第一个文件标记。 磁带定位 如果您想列出第一份存档文件的内容,接着是第二份存档文件,您可以键入以下内容: # mt -f /dev/nst0 rewind # star -tv -f /dev/nst0 # star -tv -f /dev/nst0 在这个例子中,第一个 star 命令输出 0 号存档文件的内容,然后前进到第一个

12、文件标记的后面,正好在下一存档文件的前面。接着,第二个 star 命令准备开始读取第二份存档文件的内容。 这里有另外一种方法,完成相同的事情但效率比较低(由于它执行了附加的回卷和搜索)。 # mt -f /dev/nst0 asf 0 # star -tv -f /dev/nst0 # mt -f /dev/nst0 asf 1 # star -tv -f /dev/nst0 现在您应该掌握了文件标记是如何工作的。接下来,我将告诉您如何设置磁带块大小,然后我们准备开始学习磁带备份脚本。 设定块大小 现在,该学习如何设定和检测磁带块大小了。正如我早先所提到的,Linux 缺省磁带块大小为 1kb

13、。同时,mt 有一个专门的“setblk”命令用来设定缺省的块大小。因此,您可能会想当然的认为可以用 setblk 设定您想要用的块大小,然后就打算付诸实践了。事实上,事情并非如此简单。 使块大小可变 如果您想要使用不同大小的块,着手解决的最好办法是把驱动器设成块大小“可变”模式。您可以用 setblk 命令指定一个大小为 0 字节的块: # mt -f /dev/nst0 setblk 0 用 star 指定块大小 在块大小可变模式下,您就可以使用 star 控制块的大小了。因此,以前您要键入的是: # star -cv -f /dev/nst0 . 可现在,您得象下面这样指定块的大小: #

14、 star -cv bs=64k -f /dev/nst0 . 现在您的记录长度是 64k,对于我的磁带驱动器来说,这就是最佳的块大小了。 关于块大小的怪事 这里是您需要知道的一些有关磁带块大小的有趣而又奇怪的事情。首先,当您读取磁带的时候,您必须指定适当的块大小。备份程序无法自动确定块大小。因此,如果您想列出一份块大小为 64k 的存档文件的内容,您就需要保证磁带驱动器处于块大小可变模式,然后在 star 命令行中加以说明: # star -tv bs=64k -f /dev/nst0 一桩怪事 还有一件怪事。比方说您正试图读取磁带,可是使用了错误的块大小。如果读取的块的大小小于写入时块的大

15、小,您会遇到 IO 错误。但是,如果读取的块的大小刚好是写入时的整数倍 ,那么就没问题了。而如果读取的块的大小大于写入时的块,却又不是整数倍,那么同样会发生 IO 错误。这是因为磁带驱动器一次可以读取一个或多个块,可当它读取的是部分的块时,就有些混乱了。因此,在磁带的标签上写清楚所用的块的大小以便于将来参考是个不错的主意。 我忘记块的大小了 开个玩笑,比方说您忘记了您使用的块的大小,或者您正试图从一盘旧磁带上恢复数据,而您并不知道数据是以多大的块存储的。有什么方法可以确定磁带上数据块的大小呢?您很幸运,确实有办法。首先,把磁带插入驱动器并键入以下内容: # dd if=/dev/nst0 of

16、=/tmp/testblock bs=128k count=1 现在,键入“ls -l /tmp/testblock”后看看文件的大小 它就等于磁带块的大小。 这是怎么一回事呢 这里要说明的是这个技巧的工作原理。既然 dd 包含了关于块大小和记录间隔空白(inter-record gaps)的所有信息,那么如果我们指定“bs=128k count=1”,它就知道我们想要读取的是单个的数据块。dd 将会试图一直读到 128k,但是如果它在 128k 之前遇到了记录间隔空白(inter-record gap),它就明白块已经结束了并停止读取操作。相当不错,是吧? “剥取”磁带上的数据 在讨论 dd

17、 的时候,我就想快点教会您怎样从磁带上“剥取”一个文件。比方说,您的一盘磁带里有两份 star 存档文件(每个文件结尾处有一个文件标记),而且您用的块大小为 64k。这里是关于如何把数据从磁带上第一份文件中复制并转存到一个名为 filezero.tar 的文件里: # mt -f /dev/nst0 rewind # dd if=/dev/nst0 of=/tmp/filezero.tar bs=64k 如果没有“count=”选项,dd 就会一直读到文件的末尾(或者如果是磁带的话,会一直读到文件标记)。 dd 的其它多种用法 dd 是一个功能强大的磁带工具,同样也能用于把存档文件写到磁带上去

18、,还能把存档文件从一盘磁带直接复制到另一盘磁带。警告 确保您复制到磁带上去的存档文件不是使用 gzip 或者 bzip2 压缩的;而应当是纯粹的“.tar”格式的文件。否则,一个磁带读取错误就会让您不能从磁带上恢复任何数据。还是依赖您的磁带驱动器的硬件压缩功能(通常是缺省设置的)吧。利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。1、创建保存备份文件的目录/mysqldata#mkdir /mysqldata2、创建/usr/sbin/bakmysql文件#vi /usr/sbin/bakmysql输入rq= date +%Y%m%d tar zcvf /m

19、ysqldata/mysql$rq.tar.gz /var/lib/mysql或者写成rq= date +%Y%m%d mysqldump -all-databases -u root -p密码 /mysqldata/mysql$rq.sql/var/lib/mysql是你数据库文件的目录,部分用户是/usr/local/mysql/data,每个人可能不同/mysqldata/表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。3、修改文件属性,使其可执行# chmod +x /usr/sbin/bakmysql4、修改/etc/crontab#vi /etc/crontab在下面添

20、加01 3 * * * root /usr/sbin/bakmysql表示每天3点钟执行备份5、重新启动crond# /etc/rc.d/init.d/crond restart完成。这样每天你在/mysqldata可以看到这样的文件mysql20040619.tar.gz你直接下载就可以了。自动备份Oracle数据库相信为数不少的系统管理员每天都在做着同一样的工作对数据进行备份。一旦哪一天疏忽了,而这一天系统又恰恰发生了故障,需要进行数据恢复,那么此时就无能为力了。假如每天设定一个固定的时间,系统自动进行备份,那该多好啊!下面笔者结合实践经验,谈一谈UNIX环境下Oracle数据库的自动备份

21、,以起到抛砖引玉的作用。我们计划让数据库在晚上23点做export导出备份,在凌晨2点将备份文件拷贝到磁带上,在凌晨4点将备份文件拷贝到另一台UNIX机器上,为此我们可进行如下操作:一、导出数据库export命令将数据库中的数据备份成一个二进制文件,它通常有三种模式:用户模式、表模式和整个数据库模式。本文拟采用用户模式,备份之前,应先建立一个备份目录,以容纳备份文件,比如可建一个/backup目录。接着我们可在UNIX的Oracle目录下(也可以是其它目录)分别建立两个文件orabackup,tarbackup。需要说明的是,前一个文件需要对Oracle的参数进行初始化,为了方便起见,我们不妨

22、将初始化命令放到一个文件中(文件名姑且定为oraenv),再由第一个文件调用它。1. oraenv文件对Oracle的参数进行初始化,其内容如下:ORACLEHOME=ORACLEHOME;export ORACLEHOMEORACLESID=ora73;export ORACLESIDORACLETERM=sun;export ORACLETERMLDLIBRARYPATH=ORACLEHOME/lib;export LDLIBRARYPATHORANLS32=ORACLEHOME/ocommon/nls/admin/data;export ORANLSPATH=.:/usr/ccs/bin

23、:/usr/ucb:ORACLEHOME/bin:PATH;export PATHDISPLAY=host1:0;export DISPLAYNLSLANG=americanamerica.zhs16cgb231280;export NLSLANG2. orabackup文件对数据库做export导出,导出的文件名可以任意定,本文定为字母“xx”加当天日期,即假如当天日期是12月10号,则导出的文件名为“xx1210.dmp”,以区别于其它日期的备份文件。orabackup文件内容:./oracle/oraenv初始化Oracle数据库rq=date md 把当天日期赋予变量rqrm /bac

24、kup/ 清空 /backup目录exp test/test file=/backup/xxrq.dmp log=/backup/xxrq.log本命令用于在提示符下,导出test用户的数据(其口令亦为test),导出文件及日志均放在/backup目录下。二、磁带备份tarbackup文件将用export命令导出的数据文件拷贝到磁带上。tarbackup文件内容:tar rvf /dev/rmt/0n/backup/ 本命令可将/backup目录下当天产生的文件备份到磁带上。本文件中,tar命令使用了三个参数,其中r选项表示向磁带上拷入文件而不破坏磁带原来内容,v选项表示在拷贝过程中显示文件信

25、息,f选项后面加上磁带设备名,指定文件向何处拷贝,n选项表示磁带机不倒带。/dev/rmt/0表示UNIX主机第一个磁带驱动器,同理,/dev/rmt/1则表示UNIX主机第二个磁带驱动器,依此类推。oraenv、orabackup、tarbackup文件编写完成后,分别使用下述命令:chmod 755 oraenvchmod 755 orabackupchmod 755 tarbackup这样,三个文件就都变成了可执行文件。三、异地备份我们知道,通常可用FTP命令在两台主机间传输数据,但一般是通过交互方式实现的,即需要手工输入目标主机的IP地址、用户名、口令等。显然,这不符合自动备份的要求。

26、所幸的是,我们可以通过编写一个.netrc的文件来达到目标。这一文件必须命名为.netrc,且必须存放在启动FTP命令的机器上的用户注册目录中,该文件的权限应禁止组内或其它用户进行读访问。这样,当用户使用FTP命令的时候,系统将会在该用户的注册目录中寻找.netrc文件,如果能够寻找到,将会首先执行该文件,否则,会交互式地提示用户输入用户名、口令等。在使用FTP命令之前,应先在另一台作备份用的UNIX机器上建一目录,以容纳备份文件,本文建的目录是/pub 。需要指出的是,为了加快备份速度,两台主机之间的传输速率应尽可能的高,最好位于同一局域网上。.netrc文件内容如下:machine hos

27、t2 host2为作备份用的主机名login oracleoracle为备份主机上的一个用户password oracleoracle用户的口令为oraclemacdef init定义一个名为init的宏,它将在自动注册进程的最后被执行bin文件的传输方式设为二进制lcd /backup 进入本地工作目录/backupcd /pub 进入备份主机目录/pubmput 将/backup目录下的所有文件传输至备份主机bye退出FTP会话进程.netrc文件编写完成后,使用下述命令:chmod 600 .netrc这样,.netrc文件就只能被该用户所访问。四、启动备份进程Cron是一个永久进程,它

28、由/etc/rc.local启动执行。Cron检查/var/spool/cron/crontabs/ 目录中的文件,找到所要执行的任务和执行任务的时间。Crontab文件的每一行由六个域(minutes、hours、day of month、month、day of week、 command)组成,域之间用空格或Tab分开,其中: minutes:分钟域,值的范围是0到59 hours:小时域,值的范围是0到23 day of month:日期,值的范围是1到31 month:月份,值的范围是1到12 day of week:星期,值的范围是0到6,星期日值为0 command:所要运行的命

29、令如果一个域是 ,表明命令可以在该域所有可能的取值范围内执行。如果一个域是由连字符隔开的两个数字,表明命令可以在两个数字之间的范围内执行(包括两个数字本身)。如果一个域是由逗号隔开的一系列值组成的,表明命令可以在这些值组成的范围内执行。如果日期域和星期域都有值,则这两个域都有效。现在,我们编写一个文件,用以启动自动备份进程。值得注意的是,该文件只能在Oracle用户名下用crontab e 命令来编辑,否则将不会被定时执行,文件名定为Oracle,文件将放在/var/spool/cron/crontabs 目录下。编辑完成后,可以在Oracle的提示符下,用crontab l命令来查看。Oracle文件内容:0 23 /oracle/orabackup 每天23点对数据库执行备份0 2 /oracle/tarbackup 每天2点将文件备份到磁带上

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1