歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

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


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主機帶磁帶機,且空閒。
Copyright © Linux教程網 All Rights Reserved