Linux 如何使用联机服务恢复文件系统的快照?

Linux 如何使用联机服务恢复文件系统的快照?,linux,filesystems,backup,restore,snapshot,Linux,Filesystems,Backup,Restore,Snapshot,我现在正在Linux下实现一个文件系统备份和恢复程序。要求所有操作必须在线进行 我的问题是,目前,程序对要恢复的文件的状态没有感觉。 因此,在进行恢复时,其他应用程序可能正在编辑某些文件,在这种情况下,备份可能会覆盖对文件的修改 我能想到的一个解决方案是在恢复之前测试文件是否被其他应用程序打开,并将恢复推迟到文件关闭时。但是,要测试文件的打开状态,我认为应该遍历/proc文件系统,即检查所有正在运行的进程,并为每个进程获取一个打开的文件列表,这是需要时间的 这个问题有更好的或经典的解决方案吗?如

我现在正在Linux下实现一个文件系统备份和恢复程序。要求所有操作必须在线进行

我的问题是,目前,程序对要恢复的文件的状态没有感觉。 因此,在进行恢复时,其他应用程序可能正在编辑某些文件,在这种情况下,备份可能会覆盖对文件的修改

我能想到的一个解决方案是在恢复之前测试文件是否被其他应用程序打开,并将恢复推迟到文件关闭时。但是,要测试文件的打开状态,我认为应该遍历
/proc
文件系统,即检查所有正在运行的进程,并为每个进程获取一个打开的文件列表,这是需要时间的

这个问题有更好的或经典的解决方案吗?如有任何提示,将不胜感激


谢谢您并致以最良好的问候。

您可以尝试倾听文件系统的更改,看看您是否对此负责。inotify框架在这里帮助您完成这项任务。inotify是一个用户地api。见维基百科

您可以尝试监听文件系统的更改,看看您是否对这些更改负责。inotify框架在这里帮助您完成这项任务。inotify是一个用户地api。见维基百科

有些文件系统实现了快照,而且,您仍然可能会遇到一些问题,许多程序在很长时间内(有些在所有运行时)都没有关闭它们的文件,您如何等待它们?@eicto您是对的,这也是我认为我的解决方案并不完美的原因之一。有些文件系统已经实现了快照,而且,您仍然可能会遇到一些问题,许多程序在很长时间内(有些程序在所有运行时)都没有关闭它们的文件。您希望如何等待它们?@eicto您是对的,这也是我认为我的解决方案不完美的原因之一。