在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/Python/ 用python如何實(shí)現(xiàn)遠(yuǎn)程服務(wù)器tar.gz壓縮包內(nèi)文件的讀???

用python如何實(shí)現(xiàn)遠(yuǎn)程服務(wù)器tar.gz壓縮包內(nèi)文件的讀?。?/h1>

單位有N臺(tái)linux工控機(jī),系統(tǒng)為linux,開(kāi)通了ssh,工控機(jī)中產(chǎn)生的日志是用tar進(jìn)行打包的,目前想讀取tar打包中的對(duì)應(yīng)文件,我看了python的第三方庫(kù),paramiko這個(gè)庫(kù)能否實(shí)現(xiàn)遠(yuǎn)程的SSH連接、文件上傳、下載、外部命令的執(zhí)行,但是好像還是無(wú)法實(shí)現(xiàn)遠(yuǎn)程tar包文件的讀取。想實(shí)現(xiàn)tar包內(nèi)文件讀取的庫(kù)基本上只能實(shí)現(xiàn)本地讀取,無(wú)法實(shí)現(xiàn)遠(yuǎn)程讀取。
有人建議我先遠(yuǎn)程下載以后本地讀取tar包內(nèi)文件,但是我覺(jué)得這樣的話網(wǎng)絡(luò)帶寬占用比較大,而且效率不高。
大家有沒(méi)有什么好的解決辦法呢?

回答
編輯回答
空痕

你既然已經(jīng)能ssh過(guò)去執(zhí)行了...是不是可以只解壓一個(gè)文件然后拖回來(lái)

2017年10月28日 11:50
編輯回答
陌如玉

可不可以每個(gè)服務(wù)器都部署一個(gè)腳本,用于計(jì)算日志,然后通過(guò)API匯報(bào)給中央?

2018年5月21日 14:15
編輯回答
舊言

可以開(kāi)一個(gè)API。 讀取tar的結(jié)構(gòu)信息后返回。這樣不會(huì)解壓的。

2017年1月21日 19:46
編輯回答
尋仙

同問(wèn)(? ??_??)?

2018年7月25日 13:49
編輯回答
雨萌萌

在 Linux 主機(jī)上,你可以使用以下命令查看 tar 包內(nèi)的內(nèi)容。

1. file.tar.gz
gzip -dc file.tar.gz | tar tvf -

2. file.tar.bz2
bzip2 -dc file.tar.bz2 |tar tvf -

3. file.tar
tar tvf file.tar

而上面的這些命令,你可以使用 Python 的 os.system(cmd) 來(lái)執(zhí)行并獲得輸出內(nèi)容。

那么基于以上的事實(shí),我建議你可以使用 flask 架構(gòu),做一個(gè) web 頁(yè)面來(lái)展示你所需要的內(nèi)容。
基于 flask 架構(gòu),你也可以做成 restful 形式的 api。

2017年8月24日 19:36
編輯回答
離殤

我覺(jué)得沒(méi)有辦法。
軟件運(yùn)行于本地,文件在遠(yuǎn)端。有些文件還能只先讀一部分把目錄給弄過(guò)來(lái) 提高效率。這點(diǎn)辦不到的話,文件總歸要傳輸?shù)奖镜靥幚淼?,只不過(guò)是走什么協(xié)議來(lái)傳輸而已。再好一點(diǎn)兒,就是邊傳輸邊解壓。
另外,你要是只讀取遠(yuǎn)程壓縮包里一小部分,就算實(shí)現(xiàn)了還說(shuō)的過(guò)去,如果你還是要讀取大部分內(nèi)容。那你讓它在遠(yuǎn)端解壓再傳過(guò)來(lái),豈不更浪費(fèi)帶寬?
所以別想了,老老實(shí)實(shí)選擇一個(gè)快速但占資源的 或者 限速不太占資源但慢了一些的方案。

2018年1月26日 11:47
編輯回答
愚念

考慮下sshfs?

2018年3月25日 06:38