我有一个挂载点,/media/xvdf1
我使用它与用户/组一起bindfs
挂载。我希望备份它,但其他分区上没有足够的空间。tarring 之后,应使用将文件上传到 S3 。/var/lib/jenkins/jobs
jenkins
aws s3 cp
我的问题是,如果我使用 tar 来创建档案,它会尝试将其写入的文件打包成 tar。
有没有办法让 tar 避免对自己的输出进行 tarring ?
答案1
如果需要的话你可以使用--exclude=pattern
,但我不确定你需要在哪里做这件事。
运行以下命令:
tar -cf test.tar .
我收到消息:
tar: ./test.tar: file is the archive; not dumped
但也许这只是一个 GNU 扩展,尽管我的 BSD 版本给出了类似的
tar: ./test.tar: Can't add archive to itself
不过,你可以明确地告诉它忽略它
tar -cf test.tar --exclude=./test.tar .
答案2
我也遇到了类似的问题。
在示例中,它可能像这样工作
tar -cf test.tar .
您要求tar
存档.
,然后tar
创建一个“空”文件test.tar
来存储内容。但观点这test.tar
也是目录的一部分.
。这看起来有点像无限递归。无论如何,这tar
似乎很聪明,可以防止这种情况发生,因为在大多数情况下这不是你想要的。
除了使用--exclude
,你还可以尝试
tar -cf test.tar ./*
这样,您要求tar
将(几乎)所有文件存档在.
前命令运行,注意test.tar
不包括。