溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

UNIX管道和重定向功能在系統(tǒng)備份中怎么用

發(fā)布時間:2022-01-05 15:41:33 來源:億速云 閱讀:140 作者:iii 欄目:系統(tǒng)運維

本篇內(nèi)容介紹了“UNIX管道和重定向功能在系統(tǒng)備份中怎么用”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

UNIX命令有三個有效的數(shù)據(jù)流:標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯誤。

管道是從一個程序進(jìn)程向另一個程序進(jìn)程單向傳送信息的技術(shù)。與其它形式的進(jìn)程間通訊,如IPC、MESSAGE PASSING、SOCKET等不同,管道特點是單向的。通常,管道把一個進(jìn)程的輸出傳給另一進(jìn)程作為輸入。在接受進(jìn)程接收信息前,系統(tǒng)臨時保留管道信息。

UNIX shell中,管道在命令行中由一個豎杠(|)表示。管道左邊的命令的標(biāo)準(zhǔn)輸出作為管道右邊命令的標(biāo)準(zhǔn)輸入。

UNIX的輸入和輸出重定向可以將命令的標(biāo)準(zhǔn)輸入輸出,從鍵盤和終端轉(zhuǎn)移定向到其他的設(shè)備文件。

我們可以利用管道和輸入輸出重定向功能,從而在UNIX系統(tǒng)中巧妙地實現(xiàn)一些功能,舉以下三例說明(假設(shè)用戶均有相應(yīng)的權(quán)限)。

I. 主機(jī)tom沒有磁帶機(jī),而主機(jī)jerry有磁帶機(jī)。

我們?nèi)蝿?wù)是要將tom的數(shù)據(jù)通過jerry備份到磁帶上。

假設(shè)我們要用tar命令,將/dir目錄備份到磁帶上。

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

192.0.0.2 jerry

然后,ping jerry,看網(wǎng)絡(luò)是否通暢。

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

jerry

使jerry為tom的信任主機(jī)。

現(xiàn)在,在jerry上,rlogin tom,正常情況下,不需要口令,應(yīng)能登錄到tom機(jī)上。

在jerry上,運行:

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

其中,tar cvf - /dir 是將/dir拷貝到標(biāo)準(zhǔn)輸出,然后再到重定向到主機(jī)jerry的磁帶機(jī)上,完成備份。

II. 如何實現(xiàn)多臺主機(jī)的磁帶機(jī)同時備份,加快備份速度。

隨著信息化進(jìn)程的加快,不少企業(yè)從手工操作發(fā)展到利用信息技術(shù),來提高生產(chǎn)率,企業(yè)也積累了大量的數(shù)據(jù),其中不少數(shù)據(jù)庫要求7x24小時運轉(zhuǎn)的。

數(shù)據(jù)庫的備份過程,即使不停機(jī)也會降低服務(wù)器的性能,盡量縮短備份時間窗的好處是顯而易見的。

但是一臺UNIX主機(jī)一般只配置一臺磁帶機(jī)。假設(shè)我們有另外一臺帶磁帶機(jī)的UNIX主機(jī)可供利用,我們可以利用兩臺磁帶機(jī)同時工作加快備份時間。
假設(shè)有ORACLE數(shù)據(jù)庫運行在主機(jī)tom上,該數(shù)據(jù)庫有四個各為2GB的數(shù)據(jù)文件:

/dev/volume1

/dev/volume2

/dev/volume3

/dev/volume4

每個數(shù)據(jù)文件備份到磁帶上需要15分鐘,如果利用tom自帶磁帶機(jī)備份需花掉1小時。

我們有jerry主機(jī)帶磁帶機(jī),且空閑。 以下操作利用管道技術(shù),縮短備份時間。

***步,將jerry做成tom的信任主機(jī),方法同上。

第二步,將備份任務(wù)分為兩組,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

通過上述辦法,可將備份時間縮短一半。如果有更多的主機(jī)加入備份工作,在充分利用網(wǎng)絡(luò)帶寬的情況下,效果將更加顯著。

III. 解決磁盤空間不足,如何使應(yīng)用程序產(chǎn)生數(shù)據(jù),不經(jīng)過中間過程,直接生成壓縮文件。

以O(shè)RACLE數(shù)據(jù)庫邏輯備份工具exp/imp為例。

ORACLE數(shù)據(jù)庫用exp備份出來的數(shù)據(jù),經(jīng)過壓縮,如compress壓縮,可節(jié)約一半左右的磁盤空間。但要經(jīng)過中間過程,在壓縮中需要原文件大小的約一半的緩沖空間。利用管道可以直接生成最終的壓縮文件,省略中間過程。

常規(guī)的exp命令運行如下:

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

運用管道,如下:

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

exp system/manager@testdb file=./exp_pipefull=y /* 將備份數(shù)據(jù)送往管道 */

compress exp_pipe > expfull.dmp.Z /* 生成壓縮備份文件*/

恢復(fù)操作也可以利用管道,跳過將文件解壓縮,生成原始文件的過程,如下:

mknod imp_pipe p /* 生成相應(yīng)的命名管道 */

uncompress -c expfull.dmp.Z > imp_pipe/* 將解壓縮數(shù)據(jù)送入管道 */

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

touser=scott /* 將管道數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫testdb*/

“UNIX管道和重定向功能在系統(tǒng)備份中怎么用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI