如何使用 bash 知道一个或多个文件处于延迟状态?有没有办法检测这一点?
样本:
保存文件时,内核会缓存该文件但尚未写入磁盘。这是 D 状态或延迟状态。当其处于延迟状态时,当您检查文件时php -r "var_dump(file_exists($filename));"
,内核会做出响应,是的,文件在那里。但实际上,该文件尚未写入磁盘。当服务器重新启动时,文件就消失了。
该事件发生在我们身上,我想阻止它或创建一个监控工具来检测它并通知我们,以便我们可以在重新启动之前复制其他服务器上的文件。
答案1
我认为你看错了“问题”。当系统正确重启时,关机过程将确保所有数据都写入永久存储。
因此,这里的问题是重启方式错误,导致数据丢失。您需要将重启更改为使用shutdown -r now
或类似命令。