輕柔地殺死 rsync

輕柔地殺死 rsync

有沒有一種方法rsync可以以乾淨的方式告知盡可能停止?兩種選擇:

  • 告訴rsync停止傳輸目前文件,清理所有臨時文件並退出;
  • 或讓rsync結束目前文件的傳輸然後停止。

透過這樣做,Ctrl + C它確實停止了中轉並將臨時文件留在那裡,對吧?

編輯

即使使用--inplace?最好的行動方案是什麼?我正在使用rsyncwith--inplace並且我必須快點,我怎麼能說“可能會以這個文件結束然後退出,或者現在退出,但是清理你正在復制的這個文件,這樣你就不會留下損壞的東西(我不關心它是否被刪除,我可以稍後再次備份)」或類似的內容。

答案1

如果你用以下指令殺死 rsyncCtrl+C它殺死 rsync 確實會在傳輸過程中停止它,但它不會保留任何臨時文件,除非使用該--partial選項運行。

對於那些也對暫停 rsync 感興趣的人,如果按下Ctrl+Z它就會暫停程式。當您通過運行fg或恢復它時bgrsync 恢復它時,將重申該檔案尚未完成,並繼續下載其餘檔案。查看目前暫停的所有程式的運行情況jobs

關於--就地

--inplace 的問題是它在更新資料時不會建立新文件,它只是寫入現有文件。如果您在使用 --inplace 運行時按 ctrl + c 並且它正在更新現有文件,它將留下半成品文件而不刪除它。此外,如果您僅同步新文件而不更新現有文件,那麼當您中斷傳輸(使用 ctrl + c)時,它將留下一個不會刪除的半完成文件。只是要注意的是,我不建議 --inplace 用於作業系統檔案。你確實可以提升一些東西(因為它們經常變化)

相關內容