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


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主机可供利用,我们可以利用两台磁带机同时工作加快备份时间。


相关内容