2013-02-17 200 views
1

我有以下腳本(我們稱之爲move_site.sh)是拷貝一個網站目錄結構到另一個服務器bash腳本不捕獲標準輸出,只是標準錯誤

#!/bin/bash 
scp -r /usr/local/apache2/htdocs/$1 [email protected]$2:/local/htdocs 1>$1$2.out 2>&1 

所以從命令行調用它,我通過它的網站站點目錄名稱和目標服務器,例如:

nohup ./move_site.sh site1 server1 & 

然而,在產生的名爲site1server1.out,只有標準錯誤的消息,如果有的話。

有人能告訴我如何獲得複製的文件和目錄名稱,包括在輸出文件中,以便我有某種記錄?

謝謝。

回答

2

快速嘗試: 也許是因爲當一切正常時,scp不會輸出任何內容到stdout(?)。

試試看:在腳本之外運行你的scp命令,很可能你沒有任何東西出來。 (沒有重定向到$ 1 $ 2.out,它仍然沒有:))

我不認爲這是可能的與SCP但rsync,你可以跟蹤什麼已經轉移到標準輸出。所以改變scp -rrsync -r -v -e應該會訣竅。 (至少如果你可以去rsync而不是scp)。

相關問題