1

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

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

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

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

感谢你并致以真诚的问候。

4

1 回答 1

1

您可以尝试侦听文件系统更改,看看您是否对这些负责。inotify 框架可以帮助您完成此类任务。inotify 是一个用户态 api。见维基百科... http://en.wikipedia.org/wiki/Inotify

于 2012-12-13T21:50:41.463 回答