我似乎無法說服scp行爲。如何腳本scp -r copy?
測試數據
[email protected]:/tmp$ find /tmp/a1/
/tmp/a1/
/tmp/a1/a2
/tmp/a1/a2/a3
在發出命令
[email protected]:/tmp$ scp -r /tmp/a1 domU-12-31-38-00-E2-52.compute-1.internal:/tmp/a1
我希望在domU的-12-31-38-00-E2-52.compute-創建的目錄結構1.internal,無論目錄主機上是否存在目錄/ tmp/a1。相反,什麼SCP實際上創建具有以下結構(如果存在目標主機上的/ tmp/A1)
[email protected]:/tmp$ ssh domU-12-31-38-00-E2-52.compute-1.internal find /tmp/a1
/tmp/a1
/tmp/a1/a1
/tmp/a1/a1/a2
/tmp/a1/a1/a2/a3
如何SCP被迫複製到指定目錄作爲操作的根源在哪裏?
稍後,我想對此操作進行腳本編寫,以便主設備上給定的目錄路徑可以調用將同一目錄結構複製到所有從設備的腳本。請注意,rsync行爲(至少從我測試過的)在這種情況下是相同的。
謝謝, Maxim。
我不認爲它會在所有情況下作爲一般複製到奴隸實用程序的工作。你的建議意味着我需要找到一個參數的絕對路徑,然後決定它是否是一個目錄。如果它是在構建scp命令之前剝去一層。沒有更簡單的解決方案,「腳本更友好嗎?」 – 2010-07-31 19:41:16
您也可以將文件剝去一層。我認爲這不需要有條件。 'dirname'會爲你做到這一點。您需要小心路徑盡頭的斜槓。 – 2010-08-01 00:48:03