
使用 bash 如何知道一個或多個檔案是否處於延遲狀態?有沒有辦法檢測到這一點?
樣本:
儲存文件時,核心會快取該文件,但尚未寫入磁碟。這是 D 狀態或延遲狀態。當其延遲狀態時,當您檢查類似的檔案時php -r "var_dump(file_exists($filename));"
,核心會做出回應,是的,檔案就在那裡。但實際上,該檔案尚未寫入磁碟。當伺服器重新啟動時,該檔案就消失了。
該事件發生在我們身上,我想阻止它或創建一個監視工具來檢測它並通知我們,以便我們可以在重新啟動之前將文件複製到其他伺服器上。
答案1
我認為你正在看一個錯誤的“問題”。當系統正確重新啟動時,關閉過程將確保所有資料都寫入永久儲存。
所以,這裡的問題是重啟方式錯誤,導致資料遺失。您需要更改重新啟動以使用shutdown -r now
或類似的命令。