天天看點

Linux記錄讀寫硬碟的程式腳本

前言

自己用樹莓派整了個NAS玩玩,但是經常聽到硬碟在本應無通路的時候轉來轉去,遂想查明究竟為何轉。

曾考慮使用fuser -mv /dev/sda這樣的指令,但是奈何輸出内容我不知如何輸出到檔案,用>或tee都無法重定向到檔案裡。

思路

使用lsof /dev/sda得到目前正在讀寫硬碟的程序,将内容輸出至檔案,并記錄時間戳

實作

方法并不是最優解,也請大佬不吝賜教

使用方法 <code>python3 ./watch.py /dev/sda a 1</code>

參數1: 監控的硬碟

參數2: 寫入檔案的檔案名(a.txt)

參數3: 每隔1s執行一次lsof

總結

最後這份代碼也沒有查明到底為何導緻我的硬碟轉,後猜測為OpenMediaValut的S.M.A.R.T開啟所導緻,雖說那是并無檢查任務,但估計是Bug之類的問題吧。另外,在使用OpenmeidaVault管理界面時,也會莫名其妙喚醒硬碟,同時不會被上述代碼記錄。