簡體   English   中英

使用多個 `rsync` 無需等待完成

[英]Using multiple `rsync` without waiting completion

我在下面有這段代碼,它在不同的目錄中多次循環rsync

for (( i=0; i<6; i++ )); do

    rsync /source-${i} /remote-destination
    
done

但是有一個問題:當它執行第一個rsync時,它會詢問我刪除服務器的密碼,然后它開始傳輸文件。 只有在它完成所有文件的傳輸后,它才會第二次執行循環,再次詢問我遠程服務器的密碼(沒問題,我可以負擔得起每次都輸入密碼)然后我需要等待傳輸發生所以它可以繼續。

我希望循環繼續,無需等待...我嘗試在命令行末尾使用& char 將其發送到后台,但是如果我這樣做,我無法輸入遠程服務器的密碼!

知道我該如何解決這個問題嗎? 我真的很想每次都自己輸入密碼,這不是問題。 問題是,或者循環等待每個rsync完成,或者如果我使用& ,它將密碼提示發送到后台。

查看rsync在線手冊頁,它有一個名為--password-file的意見。

以下是部分原文:

您可以通過將環境變量 RSYNC_PASSWORD 設置為您要使用的密碼或使用 --password-file 選項來避免密碼提示。 這在編寫 rsync 腳本時可能很有用。

這真的是一個ssh的問題。 您必須創建 ssh 個密鑰並將它們復制到遠程主機 - 請參閱此處以獲得一些好的指導。

直到你可以做到:

$ ssh remotehost hostname
remotehost

不輸入密碼 rsync 將需要密碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM