2014-01-30 53 views
0

我有以下腳本來檢查更新(如果可用),請下載所有更新,但效率不高,因爲它需要兩次登錄SSH。任何意見是值得歡迎的,使其更好地如何SSH,驗證更新是否可用。如果是,請下載更新

#!/bin/sh 
# Check configuration update every hour 
# version 1.0 
if ssh -i /root/.ssh/id_rsa [email protected] test -e /home/abc/update \> /dev/null 2\>\&1 ; then 
    rsync -avz -e "ssh -i /root/.ssh/id_rsa" [email protected]:/home/abc/ghz_upd/ /tmp/ghz 
    cd /tmp/ghz 
    sh ./ghz_upd.sh 
    rm -r /tmp/ghz 
else 
    echo Not found 
fi 
+1

請編輯您的問題澄清。這是關於機器效率還是關於人的效率?你是否被提示輸入passwd 2x?或者是那個工作,並且你關心2個ssh?沒有rsync OR scp選項只能複製新的和更新的文件嗎?祝你好運。 – shellter

+1

我想你可以通過'rsync -a'免費獲得你的請求功能 - 這意味着使用增量掃描的'-r'。 –

回答

1

你可以嘗試使用ControlMaster功能,它使多個SSH processess共享一個連接。

要對其進行配置給定主機,添加以下到您的~/.ssh/config文件:

host *.example.com 
Controlmaster yes        
Controlpath ~/.ssh/socket/%[email protected]%h:%p 
相關問題