当文件不存在时 tar 太慢了!

当文件不存在时 tar 太慢了!

我在文本文件中有一个庞大的文件列表。此列表传递给 tar,如下所示:

cat 列表.txt | xargs tar rvf 存档.tar --ignore-failed-read

问题是列表中的一些文件不再存在。因此 tar 一直提示“无法统计:没有这样的文件或目录...”。我对此没有意见,但是当出现其中一些消息时,tar 会挂起,需要等待几分钟才能恢复操作,这使得备份非常慢。关于如何仅将现有文件过滤到 tar,有什么想法吗?

问候

答案1

列表有多大?有多少文件丢失了?您可以筛选丢失的文件吗?

% cat list.txt 
foo/bar
foo/baz
foo/fred
foo/wilma
betty
% for file in `cat list.txt`; do [ -f $file ] && echo $file; done | xargs tar rvf archive.tar
foo/bar
foo/fred
betty
% tar tvf archive.tar 
-rw-r--r-- scott/scott       0 2011-07-05 10:25 foo/bar
-rw-r--r-- scott/scott       0 2011-07-05 10:25 foo/fred
-rw-r--r-- scott/scott       0 2011-07-05 10:25 betty
% 

答案2

我不知道这是否是最好的方法,但我发现使用参数-Ttar 会更开心。 tar rvf archive.tar --ignore-failed-read -T filelist.txt

相关内容