在出现“设备上没有剩余空间”错误后检查目标目录

在出现“设备上没有剩余空间”错误后检查目标目录

我最近的备份尝试rdiff-backup由于"[Errno 28] No space left on device".这是真的,根据du备份设备上有 0 字节可用。

当我现在尝试通过简单地开始另一次备份尝试将目录恢复到不成功会话之前的状态时,我也会得到[Errno 28].我的下一个想法是摆脱一些旧的备份增量以获得一些新的磁盘空间。

为了查看备份增量列表,我调用了rdiff-backup -l mirror_dir它,结果是

Fatal Error: Previous backup to mirror_dir seems to have failed.
Rerun rdiff-backup with --check-destination-dir option to revert directory to state before unsuccessful session.

然后我按照消息告诉我的去做并运行rdiff-backup --check-destination-dir mirror_dir,这再次给了我现在已经著名的[Errno 28]。我似乎走进了一条死胡同,我无能为力任何事物不再,甚至不释放一些磁盘空间,该操作似乎是解决此问题的唯一方法。

有办法摆脱这种情况吗?

答案1

除了扩展底层文件系统之外,没有一个好的方法,但这应该很容易 - 您有很多选择,包括获取新的、更大的驱动器和镜像数据(使用类似cp -a或 的东西rsync -a)。大备份卷的烦恼在于这可能需要很长时间。

如果您像我一样并且在同一文件系统上有多个备份,则可以通过暂时将备份或大文件移动到其他地方来轻松找到空间。

为了避免这个问题,我学会了.00DOORSTOP在备份目录中保留一个文件,以便rm在需要空间时可以使用。我目前的文件大小为 1GB,这应该足以让我在需要时创建更多空间 - rdiff-backup 需要最少的空间来运行(可能用于创建临时文件)。显然,它不可能是一个稀疏文件;我通过使用创建它dd

dd if=/dev/zero of=.00DOORSTOOP bs=1G count=1

相关内容