分享
 
 
 

UNIX管道和重定向功能在系统备份中的妙用

王朝system·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

UNIX命令有三个有效的数据流:标准输入,标准输出,标准错误。

管道是从一个程序进程向另一个程序进程单向传送信息的技术。与其它形式的进程间通讯,如IPC、MESSAGE PASSING、SOCKET等不同,管道特点是单向的。通常,管道把一个进程的输出传给另一进程作为输入。在接受进程接收信息前,系统临时保留管道信息。

UNIX shell中,管道在命令行中由一个竖杠(|)表示。管道左边的命令的标准输出作为管道右边命令的标准输入。

UNIX的输入和输出重定向可以将命令的标准输入输出,从键盘和终端转移定向到其他的设备文件。

我们可以利用管道和输入输出重定向功能,从而在UNIX系统中巧妙地实现一些功能,举以下三例说明(假设用户均有相应的权限)。

I. 主机tom没有磁带机,而主机jerry有磁带机。

我们任务是要将tom的数据通过jerry备份到磁带上。

假设我们要用tar命令,将/dir目录备份到磁带上。

首先,在tom上修改文件/etc/hosts,加入jerry的IP地址:

192.0.0.2 jerry

然后,ping jerry,看网络是否通畅。

修改tom的.rhosts,加入下行:

jerry

使jerry为tom的信任主机。

现在,在jerry上,rlogin tom,正常情况下,不需要口令,应能登录到tom机上。

在jerry上,运行:

rsh tom "tar cvf - /dir" > /dev/rmt0h

其中,tar cvf - /dir 是将/dir拷贝到标准输出,然后再到重定向到主机jerry的磁带机上,完成备份。

II. 如何实现多台主机的磁带机同时备份,加快备份速度。

随着信息化进程的加快,不少企业从手工操作发展到利用信息技术,来提高生产率,企业也积累了大量的数据,其中不少数据库要求7x24小时运转的。

数据库的备份过程,即使不停机也会降低服务器的性能,尽量缩短备份时间窗的好处是显而易见的。

但是一台UNIX主机一般只配置一台磁带机。假设我们有另外一台带磁带机的UNIX主机可供利用,我们可以利用两台磁带机同时工作加快备份时间。

假设有ORACLE数据库运行在主机tom上,该数据库有四个各为2GB的数据文件:

/dev/volume1

/dev/volume2

/dev/volume3

/dev/volume4

每个数据文件备份到磁带上需要15分钟,如果利用tom自带磁带机备份需花掉1小时。

我们有jerry主机带磁带机,且空闲。 以下操作利用管道技术,缩短备份时间。

第一步,将jerry做成tom的信任主机,方法同上。

第二步,将备份任务分为两组,volume1,volume2在tom上备份,volume3,volume4在jerry上备份。

在tom上运行:

dd if=/dev/volume1 of=/dev/rmt0

dd if=/dev/volume2 of=/dev/rmt0

在jerry上运行:

rsh tom "dd if=/dev/volume3" |dd of=/dev/rmt0

rsh tom "dd if=/dev/volume4" |dd of=/dev/rmt0

通过上述办法,可将备份时间缩短一半。如果有更多的主机加入备份工作,在充分利用网络带宽的情况下,效果将更加显著。

III. 解决磁盘空间不足,如何使应用程序产生数据,不经过中间过程,直接生成压缩文件。

以ORACLE数据库逻辑备份工具exp/imp为例。

ORACLE数据库用exp备份出来的数据,经过压缩,如compress压缩,可节约一半左右的磁盘空间。但要经过中间过程,在压缩中需要原文件大小的约一半的缓冲空间。利用管道可以直接生成最终的压缩文件,省略中间过程。

常规的exp命令运行如下:

exp system/manager@testdb file=expdat.dmpfull=y

运用管道,如下:

mknod exp_pipe p /* 生成命名管道 */

exp system/manager@testdb file=./exp_pipefull=y /* 将备份数据送往管道 */

compress exp_pipe > expfull.dmp.Z /* 生成压缩备份文件*/

恢复操作也可以利用管道,跳过将文件解压缩,生成原始文件的过程,如下:

mknod imp_pipe p /* 生成相应的命名管道 */

uncompress -c expfull.dmp.Z > imp_pipe/* 将解压缩数据送入管道 */

imp system/manager@testdb file=./imp_pipefromuser=scott \

touser=scott /* 将管道数据导入数据库testdb*/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有