通过查阅资料,tar根据文件列表进行归档可以通过以下几种方式实现:
tar -cvf test.tar -T filelist.txt
cat filelist.txt |xargs tar cf test.tar
cat filelist.txt |xargs -i tar rvpf test.tar {}
今天利用上面的三种方式进行测试,遇到以下问题:
1.提示如下错误:
tar: myweb-1.0-SNAPSHOT/META-INF/\r:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
tar: myweb-1.0-SNAPSHOT/WEB-INF/\r:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
tar: myweb-1.0-SNAPSHOT/WEB-INF/classes/\r:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
tar: myweb-1.0-SNAPSHOT/WEB-INF/web.xml\r:无法 stat: 没有那个文件或目录
tar: 由于前次错误,将以上次的错误状态退出
原因分析:
Linux不认WINDOWS下写的txt内的换行符 \r
解决办法:
先对filelist.txt进行格式转换,在进行归档即可。
#dos2unix filelist.txt
2.执行tar -cfv Incremental.tar -T ../Incremental.txt,报错如下:
tar: Incremental.tar:无法 stat: 没有那个文件或目录 tar: 由于前次错误,将以上次的错误状态退出
原因分析
-f 后接归档名
解决办法:
注意选项位置即可。
#tar -cvf Incremental.tar -T ../Incremental.txt