如果目標磁碟已滿,如何強制停止 rsync?

如果目標磁碟已滿,如何強制停止 rsync?

我正在使用 rsync(centos 上的版本 3.1.0)來執行一些備份任務。我開發了一個軟體來監視我的 rsync 進程,以使備份配置適合我的業務邏輯。

我的軟體啟動一些 rsync 進程,並解析 rsync 的輸出以發送通知。

我面臨著一些奇怪的事情。

我的目標磁碟已滿。我的軟體使用以下命令在該磁碟上啟動 rsync 備份:

rsync -irlpt --no-perms --stats /src /media/dst/

/media/dst 是安裝在 fusionblck (NTFS) 中的外部 USB3 硬碟。

/src 是一個包含 50 G 位元組的圖片、影片和一些文字檔案的資料夾。

因為該磁碟已滿,所以我希望 rsync 快速退出並返回錯誤。

但是,rsync 過程需要很長時間。 (10小時後我手動停止了它)當我停止它時,我可以讀取很多像這樣的跟踪:

rsync: mkstemp "/media/dst/.20160518-130315-underwaterposition-VI_GAPS.pos.DIksdT" failed: No space left on device (28)

對我來說,此訊息很正常,因為設備上沒有剩餘空間。

所以我的問題是:

為什麼 rsync 在偵測到目標裝置上沒有剩餘空間時不會立即停止?

有沒有辦法強制這種行為?

相關內容