在上一篇文章提到,前陣子調整 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. 程式 以往的做法會宣...
-
雖然到最後你還是沒留下你的名字... 今天就來介紹一下,如何用程式撰寫多維 矩陣乘法運算 首先要了解一下矩陣乘法的計算方式 (m1 x n1) * (m2 x n2) 結果會是 (m1 x n2)的矩陣 上例中的 n1 = m2 矩陣乘法位置互換結果就會不同 (大家可以直接點上方...
-
最近處理了一個 Session 變數會莫名消失的問題,麻煩的地方在於,這個舊系統在.NET 1.1的環境上活的很愉快,但是努力升級到.NET 2.0之後,在 某些狀況 下 Session 變數就會莫名的消失,導致權控子系統判斷為 Session Timeout,而將...
沒有留言:
張貼留言