2008-06-11

寫程式掃HDD檔案的一點小技巧

最近要處理一個程式,簡單來說就是要去新的 RAID 裡把檔案一個個翻出來跟舊的 RAID 比對看檔案大小跟日期修改等資訊(轉檔出問題要重轉)

原本還想說用 PHP opendir 去開一個 resource 來一層層掃,後來經高人(我們家老大)指點突然想通了

unix find 指令是個好幫手

因為我要掃整個 RAID,而且這是個好幾十G的資料量,一層層掃是跟自己過不去,於是我先做了下列的事;

  • 切換到要掃的資料夾那層
  • 下指令 #find . > ~/file_list.idx
簡單來說就是用 find 把從要掃的那層資料夾開始,整個檔案樹狀結構都先 output 出來成為一個 file list,這樣 PHP 只要直接去 fopen 那個 file list,然後透過變數串接加上像是 filesize() / filemtime() 等 PHP function 就可以輕鬆得到所需的效果,省時又方便(程式又簡單)

所以要靈活運用 UNIX 指令來幹噁心的事呀 XDDDD

沒有留言: