通过 ssh 对不断变化的文件夹进行 tar 和 untar 操作的结果是什么

通过 ssh 对不断变化的文件夹进行 tar 和 untar 操作的结果是什么

我曾在一个大容量(TB)、不断变化的带有子文件夹和文件的目录上使用过此命令。

$ tar c dir/* |gzip - | ssh user@host 'cd /dir/ && tar xz'

最终的结果会是怎样呢?

会有吗仅有的tar 开始时的文件?

答案1

从测试来看,tar 似乎在继续之前创建了一个文件列表,因此最终结果是 tar 扫描目录时存在的文件就是传输的文件。

我是这样测试的:

  • 创建了 2 个大型文本文件(每个约 3-400M),分别名为 bigfile1 和 bigfile2
  • 在另一个 shell 窗口中为名为 c-notsobigfile 的文件准备了触摸
  • 开始对文件所在的目录进行 tar 操作,当 bigfile1 备份完成后,我触发了 touch

这是我的最终结果

tar czvf bigfiles.tar.tz test2/
a test2
a test2/bigfile
a test2/bigfile2

我的 c-notsobigfile 丢失了。

相关内容