Tar

當我在使用 tar 歸檔的目錄中創建文件時會發生什麼?

  • May 29, 2020

我有一個大目錄(80GB),我想壓縮到存檔中。當在該目錄中創建一個新文件時會發生什麼?新文件會包含在創建的存檔中嗎?

我的作業系統:Ubuntu 18.04.4。

tar --version: (GNU 焦油) 1.29

我剛剛跑過tar (GNU tar) 1.32strace它顯示了這種行為:

  1. tar在從該目錄讀取第一個文件之前讀取目錄中的整個文件列表。
  2. 來自另一個目錄(子目錄或附加參數)的文件只有在之前處理的目錄內容已完全寫入 tar 文件後才能讀取。

因此,您的問題的答案取決於創建新文件的路徑。如果其父級的處理已經開始,則它不會成為存檔的一部分,否則會。

也許快照在您的情況下很有用。或者(如果不可能的話)讀取所有非目錄路徑find並將它們提供給tar. 這兩種方法都會阻止添加在tar.

引用自:https://unix.stackexchange.com/questions/589723