tar zcvf Test.tar.gz / var / trac / test / var / svn / test
到目前为止,我有:
<target name="archive" depends="init">
<tar compression="gzip" destfile="test.tar.gz">
<tarfileset dir="/">
<include name="/var/trac/test" />
</tarfileset>
<tarfileset dir="/">
<include name="/var/trac/svn" />
</tarfileset>
</tar>
</target>
通过调试,它始终显示“找不到任何来源”,所以我对下一步该做什么感到有点困惑。
答案 0 :(得分:5)
这里有几件事可能出错:
是/var/trac/test
和/var/svn/test
个文件或目录吗?真实tar
对两者都可以正常工作;你的任务 - 现在的编写方式 - 只适用于文件而不适用于文件夹。
您(或者更确切地说,Ant进程)是否具有足够的权限?
<include>
元素包含patterns,它们通常与基础目录相对。你将它们指定为绝对值。
我会将上述内容重写为:
<target name="archive" depends="init">
<tar compression="gzip" destfile="test.tar.gz">
<tarfileset dir="/var/trac" prefix="/var/trac">
<include name="test/**" />
<include name="svn/**" />
</tarfileset>
</tar>
</target>
prefix
允许explicitly specify the path与Tar档案中的哪些文件开始。
/**
中的 <include>
告诉Ant从该文件夹及其所有子文件夹中获取所有文件。如果/var/trac/test
和/var/svn/test
确实是文件而不是文件夹,那么您可以省略它。