2012-04-23 36 views
-1

我有一臺服務器(機器A)從其他機器全天接收上傳文件。我有一個腳本運行在另一臺內部服務器(運行爲cron - 機器B),它使用rsync將這些文件拖放到自身上,並刪除機器A上的原件。其中一些上傳會持續一個小時或更長時間。使用rsync而不復制正在使用的文件

如何使用rsync,以便它不會嘗試複製當前上傳(寫入)的文件?我不希望它拉部分上傳,然後嘗試處理它們。

我使用Ubuntu 10.04兩個機器上的64位A & B.

+0

屬於http://serverfault.com – 2012-04-23 20:54:31

回答

0

爲了使增量baclups在rsync,你應該把--update-u選項。接收器中存在的文件唯一更新的情況是存檔存在且兩端的時間戳相同但大小不同。

關於部分更新,所有臨時上傳都存儲在臨時存檔中,然後在上傳時移動到dest目錄。如果出現rsync或網絡問題,則可以使用--partial,這將在您下次再次執行同步時恢復部分更新。

您可以檢查整個選項from this man page