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

gmu*_*ler 0 backup tar filter xargs

我在文本文件中有一个巨大的文件列表。这个列表被传递给 tar,像这样:

猫列表.txt | xargs tar rvf archive.tar --ignore-failed-read

问题是列表中的某些文件不再存在。所以 tar 一直说“无法统计:没有这样的文件或目录......”。我对此没有任何问题,但是当出现其中一些消息时,tar 挂起,并等待几分钟恢复操作,使备份非常缓慢。关于如何仅将现有文件过滤为 tar 的任何想法?

问候

小智 5

列表有多大,有多少文件消失了?你能过滤掉丢失的文件吗?

% 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
% 
Run Code Online (Sandbox Code Playgroud)