作者 主題: 如何在 ssh 之後由 server 端傳回圖片資料?  (閱讀 4466 次)

0 會員 與 1 訪客 正在閱讀本文。

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
有一個需求是在 script 裡 ssh 到 server 端處理之後
由 server 端傳一張處理結果圖片回來給 convert 轉圖
昨晚半昏迷狀態下只想到一個方法...

代碼: [選擇]
ssh xxxxx@192.168.1.188 '(其他指令....最後產生 /tmp/g03.png圖片); cat /tmp/g03.png' | convert - -resize 240 g03.jpg
早上 google 爬了一下,也沒找到其他解法
上面方式如果在 cat 前後有其他資料
那接收到的圖片資料就不正確了

本來也有想過在 server 端用 scp 傳回來
這樣就必需兩端都設定免密碼 ssh 登入
或是 client 端不開 ssh server 就無效

不知有無其他方式? ::)


netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #1 於: 2012-09-12 09:46 »
client 也可以 scp 過去抓回來啊...

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #2 於: 2012-09-12 11:25 »
嗯嗯,是的,可以用 scp 抓回來,感謝!!

現在在想辦法看要怎樣能將 scp 抓回來的檔案資料直接寫到 pipe
convert 則由 pipe 抓資料過來轉,這樣可以減少硬碟存取的動作  :D

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #3 於: 2012-09-12 12:18 »
可以啊,ssh 到遠端執行 cat 再 | 到本地的程式

ssh remote 'cat file' | local program

FIEND

  • 鑽研的研究生
  • *****
  • 文章數: 700
    • 檢視個人資料
    • http://bbs.ecstart.com
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #4 於: 2012-09-12 12:24 »
@@ 圖片量如果很多 , SSH 的傳輸速度其實不快喔.

你累了嗎? 這樣不行 , 人要比 LINUX 兇 @@ " ......

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #5 於: 2012-09-12 14:17 »
每次只傳一張處理結果圖片,最大3xxKB,並不需要速度上的要求
而且 ssh server 在多數主機來說應該是基本服務,不用另外再安裝或設定套件

FIEND

  • 鑽研的研究生
  • *****
  • 文章數: 700
    • 檢視個人資料
    • http://bbs.ecstart.com
Re: 如何在 ssh 之後由 server 端傳回圖片資料?
« 回覆 #6 於: 2012-09-12 15:17 »
每次只傳一張處理結果圖片,最大3xxKB,並不需要速度上的要求
而且 ssh server 在多數主機來說應該是基本服務,不用另外再安裝或設定套件

如果是這樣 .

那用 expect 命令伺服端做完所有的事再丟回來 會是不錯的解決方案.

我以前常用 expect 群發去命令遠端的骨幹交換器 做事.

如果有幾百台 伺服器 用 expect 就輕鬆很多.

一台就可以控制非常多台機器.

« 上次編輯: 2012-09-12 15:20 由 FIEND »
你累了嗎? 這樣不行 , 人要比 LINUX 兇 @@ " ......