在上一篇文章提到,前陣子調整 AWStats 更新統計資料檔的 cron job (其實就是執行 awstats.pl -update) 的時間後,AWStats 統計資料檔都沒有正常更新,除了會產生錯誤訊息以外,還會在存放統計資料檔的資料夾 (config 檔中的 DirData) 中留下檔名為 awstatsMMYYYYDD.mySite.tmp.### (數字可能從 3 位到 5 位) 的暫存檔案。
以我管理的 AWStats Server 為例,由於要分析的網站多達 26 個,因此我有利用 DirData 這個設定值來區分不同網站群組的統計資料檔,除此之外,每個網站群組下還另外細分月報表以及日報表資料夾,造成 xxx.tmp.### 檔案分佈在各種不同深度的目錄中,那麼要如何一次把這些檔案清光呢?
一開始我想要用 ls -lR | grep tmp 指令來找出所有的暫存檔案,這個方法雖然可以把檔案名稱 & 檔案屬性列出來,但由於缺乏檔案的完整路徑,因此無法對檔案進行刪除或者其他的操作。
後來(壞毛病又發作)我參考了 Renaming Files As Lowercase Using Perl 這篇文章,把 rename 的動作改成「rm -f」,由於 Perl 支援 Regular Expression,因此要找出檔名格式為 xxx.tmp.### 的檔案非常容易。
但是在測試 ok 以後我又覺得,如果每次要做類似的事情都要寫個 Perl script,或者把現有的 script 打開來編輯,未免也太麻煩了吧!後來同事提醒我,find 指令的回傳結果就是完整的檔案路徑,在查閱 find 指令的 man page 之後,終於發現只要用以下的一行指令就可以搞定了:
find [AWStats DirData] -name *.tmp.* -delete
由於 -name 這個 switch 本身就支援 Regular Expression,因此用來找檔名中含有 tmp 的檔案相當容易,不放心的話可以先不要加上 -delete 這個 switch,就可以把找到的檔案列在螢幕上逐一確認是否有誤判的情況。
確認把暫存檔案 (xxx.tmp.###) 都找出來以後,加上 -delete 這個 switch,find 就會幫你把找出來的檔案砍掉囉!
找到正確作法 (& find 的正確用法) 以後,感覺真是爽快阿 :D
訂閱:
張貼留言 (Atom)
Google Spreadsheet 裡用規則運算式
最近因為工作關係,遇到要用 Google Form 及 Google Sheet 所以研究了 Google Sheet 裡的一些 function 怎麼用 首先,分享一下如何在 Google Sheet 裡用規則運算 :D
-
今天坎尼去上課老師講了一題很有趣的題目 所以回到家坎尼就順手試驗了一下 I. XOR (exclusive OR) XOR 是邏輯運算子之一,定義為: 當兩數的值不同才為 true,相同則為 false 其他相關說明可以參考 維基百科:XOR II. 程式 以往的做法會宣...
-
好久沒開 Chart Control 議題了 剛好前陣子 Codeplex 出現可以輕鬆建立 Excel 檔案的 Library- NPOI 於是坎尼想說研究一下,看能不能把 Chart Control 匯出圖片到 Excel 中 沒想到只花了不到1小時就研究...
-
上個週末打開一個影片檔,發現字幕檔是中英文混合的,造成字幕吃掉畫面很大的空間, 打開字幕檔一看,果然每一段時間都有先英文後中文的字幕: 因此我想要自己作成「只有中文」&「只有英文」兩個字幕檔,但這個檔案有6418 行,如果要手動一行一行的刪除...
沒有留言:
張貼留言