亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1810 | 回復(fù): 0
打印 上一主題 下一主題

UNIX管道和重定向功能在系統(tǒng)備份中的妙用 [復(fù)制鏈接]

論壇徽章:
1
15-16賽季CBA聯(lián)賽之北控
日期:2022-03-04 22:35:50
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2008-03-27 11:25 |只看該作者 |倒序?yàn)g覽

作者:李炯  
UNIX命令有三個(gè)有效的數(shù)據(jù)流:標(biāo)準(zhǔn)輸入,標(biāo)準(zhǔn)輸出,標(biāo)準(zhǔn)錯誤。
管道是從一個(gè)程序進(jìn)程向另一個(gè)程序進(jìn)程單向傳送信息的技術(shù)。與其它形式的進(jìn)程間通訊,如IPC、MESSAGE PASSING、SOCKET等不同,管道特點(diǎn)是單向的。通常,管道把一個(gè)進(jìn)程的輸出傳給另一進(jìn)程作為輸入。在接受進(jìn)程接收信息前,系統(tǒng)臨時(shí)保留管道信息。
UNIX shell中,管道在命令行中由一個(gè)豎杠(|)表示。管道左邊的命令的標(biāo)準(zhǔn)輸出作為管道右邊命令的標(biāo)準(zhǔn)輸入。
UNIX的輸入和輸出重定向可以將命令的標(biāo)準(zhǔn)輸入輸出,從鍵盤和終端轉(zhuǎn)移定向到其他的設(shè)備文件。
我們可以利用管道和輸入輸出重定向功能,從而在UNIX系統(tǒng)中巧妙地實(shí)現(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上,運(yùn)行:
rsh tom "tar cvf - /dir" > /dev/rmt0h
其中,tar cvf - /dir 是將/dir拷貝到標(biāo)準(zhǔn)輸出,然后再到重定向到主機(jī)jerry的磁帶機(jī)上,完成備份。
II. 如何實(shí)現(xiàn)多臺主機(jī)的磁帶機(jī)同時(shí)備份,加快備份速度。
隨著信息化進(jìn)程的加快,不少企業(yè)從手工操作發(fā)展到利用信息技術(shù),來提高生產(chǎn)率,企業(yè)也積累了大量的數(shù)據(jù),其中不少數(shù)據(jù)庫要求7x24小時(shí)運(yùn)轉(zhuǎn)的。
數(shù)據(jù)庫的備份過程,即使不停機(jī)也會降低服務(wù)器的性能,盡量縮短備份時(shí)間窗的好處是顯而易見的。
但是一臺UNIX主機(jī)一般只配置一臺磁帶機(jī)。假設(shè)我們有另外一臺帶磁帶機(jī)的UNIX主機(jī)可供利用,我們可以利用兩臺磁帶機(jī)同時(shí)工作加快備份時(shí)間。
假設(shè)有ORACLE數(shù)據(jù)庫運(yùn)行在主機(jī)tom上,該數(shù)據(jù)庫有四個(gè)各為2GB的數(shù)據(jù)文件:
/dev/volume1
/dev/volume2
/dev/volume3
/dev/volume4
每個(gè)數(shù)據(jù)文件備份到磁帶上需要15分鐘,如果利用tom自帶磁帶機(jī)備份需花掉1小時(shí)。
我們有jerry主機(jī)帶磁帶機(jī),且空閑。 以下操作利用管道技術(shù),縮短備份時(shí)間。
第一步,將jerry做成tom的信任主機(jī),方法同上。
第二步,將備份任務(wù)分為兩組,volume1,volume2在tom上備份,volume3,volume4在jerry上備份。
在tom上運(yùn)行:
dd if=/dev/volume1 of=/dev/rmt0
dd if=/dev/volume2 of=/dev/rmt0
在jerry上運(yùn)行:
rsh tom "dd if=/dev/volume3" |dd of=/dev/rmt0
rsh tom "dd if=/dev/volume4" |dd of=/dev/rmt0
通過上述辦法,可將備份時(shí)間縮短一半。如果有更多的主機(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命令運(yùn)行如下:
exp system/manager@testdb file=expdat.dmpfull=y
運(yùn)用管道,如下:
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*/


本文來自ChinaUnix博客,如果查看原文請點(diǎn):http://blog.chinaunix.net/u/31/showart_509551.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP