站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

sort-排序檔案內容並合併

前言

因為之前的人把 web server log 產生週期設定為每週一次且又不是使用 cronolog 來處理,所以就要用 sort 指令來合併且排序了,不過這方法只限於同一個月份合併而以,因為若是跨月例如一月份、二月份、三月份執行合併排序指令的話則合併起來的 Log 內容會變成一月份的 1 日、二月份的 1 日、三月份的 1 日這樣排序下去,不過這樣合併的 Log 對網頁分析軟體來說就會出問題了 (ex. Awstats),所以還是要做苦工每個月每個月來處理吧,當然根本的問題應該是把產生 Log 的方法改正為每天產生並使用 cronolog 來處理才對。

安裝及設定

本次實作利用 sort 指令不單單只是排序而以還運用到的合併的功能,指令功能及參數說明如下:

了解指令及參數用意後,我們可以執行下列指令就是將 www-access.log.1、www-access.log.2、www-access.log.3 這三個 Apache Log 合併為一個 Log 檔案 (200703.log),而在進行合併前所要排序的欄位則取每個 Log 的第四個時間欄位 [11/Mar/2007:21:19:39 +0800] 這欄來排序。

 #sort -m -t " " -k 4 -o 200703.log www-access.log.1 www-access.log.2 www-access.log.3

參考

[FreeBSD Man Pages - sort]

[多伺服器的日誌合併統計]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com