备份和文件复制期间文件系统操作的边缘情况

备份和文件复制期间文件系统操作的边缘情况

我有一个关于 Linux 中文件访问的问题,我无法完全总结。

假设我有一个主目录,我使用通过 cron 触发的 rsync 对其进行备份。我的主目录位于 EXT4 文件系统上,并且我在 rsync 运行期间登录。

我的问题是,如果在备份过程中修改文件(当 rsync 正在读取它时)会发生什么。 AFAIK EXT fs 系列没有任何针对它的措施,这会损坏(或使其变得毫无意义)我刚刚获取的文件的备份。

我的理论是否正确,还是我缺少一个保证声音备份的小型锁定机制。

答案1

使用纯rsync文件的读取方式与任何应用程序读取文件的方式相同。这可能会导致副本数据不一致。防止副本不一致的最佳方法是使用 LVM 快照,这将防止复制时对数据进行更改。

根据我的经验,获得不一致的数据的情况很少见,可能是由于内核缓冲区的写入方式所致。只有写入量很大的文件(例如数据库文件)才会导致损坏。

相关内容