我想备份实时系统,我正在运行命令tar -cvpzf backup-latest.tar.gz --exclude=/backup-latest.tar.gz --one-file-system /
但我刚刚收到错误:tar: /: file changed as we read it
- 我不确定它是否删除了任何文件或备份是否成功。
我不太关心文件权限 - 最重要的是文件数据。
答案1
在生命文件系统上执行此操作并不安全,最好在备份数据之前创建快照。如何创建快照以及是否支持快照取决于文件系统类型,因此我无法给您建议,因为您没有提及您正在使用的文件系统。
从您的命令行参数来看,您似乎使用了
gtar
.这个 tar 实现有时在读取它自己的档案时会出现问题......所以要小心验证您创建的档案的可读性。请注意,您使用的命令行不允许您归档超出基本元数据的内容,并且仅归档具有一秒粒度的时间戳。
缺少的元数据是:ACL、扩展属性……
POSIX.1-1988 tar 存档能够存档目录、文件、硬链接、符号链接、特殊块、特殊字符、命名管道。它无法归档套接字这一事实并不是问题。所以
tar
一般来说是没有问题的。
答案2
看起来像是一种糟糕的老式备份方式。这是真实的服务器而不是虚拟机吗?如果是虚拟机,我们会想到 VEEAm 和 ghetto 备份。如果它是真正的服务器,您使用什么文件系统 brts 和 lvm 一样使用快照。既然你做了 tar,也许你可以将你的数据同步到另一个盒子?