如何备份大量小文件?

如何备份大量小文件?

Windows 文件系统通过 samba 挂载,我正在尝试压缩大量小文件:

find /path/to/files/ -newermt "2012-01-01 00:00:00" -path '*/*log.txt'  -exec tar cvfz log_file_system.tar.gz {} +

但过了一会儿,tarball 的大小就会被重置。

/path/to/files/log1.txt
tar: Removing leading `/' from member names <- the size of the tar became zero
/path/to/files/log2.txt

为什么会发生这种情况?我该如何解决?

答案1

-exec “+” 选项只会构建有限长度的命令行。一旦命令行总长度超过此大小,它将启动新的命令行。此问题与 xargs 类似。

您需要使用 -T- 将文件名输入通过管道传输到 tar。

相关内容