为什么我得到“焦油:怯懦地拒绝创建空档案”?尝试备份整个服务器时

yeh*_*rek 6 server backup tar

我是 ubuntu 的新手,正在处理服务器。我使用 Ubuntu 16.04 x64。我想备份整个系统,所以我关注了这个视频https://www.youtube.com/watch?v=KTayZIou-1M

我输入这个命令

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system 
Run Code Online (Sandbox Code Playgroud)

但我收到了这个错误

tar: Cowardly refusing to create an empty archive
Run Code Online (Sandbox Code Playgroud)

然后我意识到我忘记在'--one-file-system'之后添加'/'所以我添加了它。

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system/
Run Code Online (Sandbox Code Playgroud)

并得到这个错误

tar: unrecognized option '--one-file-system/'
Run Code Online (Sandbox Code Playgroud)

提前致谢。

Eri*_*ntz 30

/在命令末尾的之前添加一个空格。改变你的:

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system/
Run Code Online (Sandbox Code Playgroud)

sudo tar -cvpzf mybackup.tar.gz --exclude=/backup/mybackup.tar.gz --one-file-system /
Run Code Online (Sandbox Code Playgroud)


小智 24

只是为了完整性:

一个简单的调用tar可能是这样的:tar cf foo.tar file1 file2 file3。这告诉 tar 在名为 foo.tar 的文件中创建一个存档,其中包含file1,file2file3. (请注意,对于 tar,-“command”参数之前的前面是可选的,因此您可以使用cf或 ,-cf因为您认为合适)。

消除一些其他(目前有些无关紧要)标志,您的第一次调用本质上等同于tar cf foo.tar. 像上面一样,这告诉它在名为 的文件中创建一个存档foo.tar,但它没有告诉它要放入存档的任何文件。这就是错误消息告诉您的内容:由于您尚未指定任何要存档的文件,因此创建一个不包含任何内容的存档是没有意义的。

当您添加/(并将其与其他参数正确分开)时,它会告诉它您想要将哪些文件添加到存档中,因此现在它可以创建一个实际包含某些内容的存档(因此,除非出现其他错误,否则它会做所以)。