我有一段代码监控一个文件夹。如果文件在那里停留 3 分钟,我的代码将处理它。距离现在是否已经过 3 分钟取决于 mtime。
但是,我发现当我 cp 一个大文件时,比方说 10GB,无法在 3 分钟内完成,代码会中断,因为 cp 在复制时似乎不时更新 mtime.
我是否观察到了 cp 的正确行为?
有解决办法吗?
谢谢,
最佳答案
据我所知,mtime 会在上述修改完成后更新。我认为这样做是正确的。为什么在将文件复制到 时需要知道文件是否已更新?如果你碰巧复制了那个文件,你最终会得到一个不完整的文件,可能没有用。
但如果您确定要这样做,请确保您的复制智能不仅取决于 mtime,还取决于上面答案中建议的文件大小。如果您看到文件大小以任何一种方式发生变化,无论 mtime 说什么,您都可以确定该文件相对于上次处理时间已被修改。
关于linux cp mtime更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15693720/