1. 程式人生 > >【運維實戰】一次linux日誌分割之路——將日誌按照每小時進行分割,並按照“日期-小時”格式保存

【運維實戰】一次linux日誌分割之路——將日誌按照每小時進行分割,並按照“日期-小時”格式保存

linu 一次 圖片 威脅 rontab acc 記錄 進一步 bash

是這樣的,現在需要對nginx的access.log進行按照每小時進行分割,並且最好還要能夠以 “日期+時間”的形式,命名保存。

兩點,一個是按照每小時進行分割,一個是將日誌以“日期+時間”的形式進行保存。

1.將日誌按照每小時進行分割:

利用crontab

輸入crontab -e,手動添加一個定時任務

0 */1 * * * /bin/bash /root/tools/log_per_hour.sh

那麽這種是我最終需要的,是在每個整點都執行寫好的log_per_hour腳本。

肯定有一些大兄弟需要的是“從現在開始每隔一個小時進行執行”,這個時候的crontab定時任務應該這麽寫:

*/60 * * * * /bin/bash /root/tools/log_per_hour.sh

是“每隔60分鐘執行一次”,這樣會從任務生效時開始計算間隔。

2.將日誌以“日期+時間”的形式進行保存:

技術分享圖片

其中,為了保證能夠及時發現如果文件或者目錄異常,中間做了條件判定。

並且為了讓最後的access.log文件能夠自動重新生成(等於是之前每個小時的都已經分割好了,nginx重載之後日誌文件會重新生成並記錄,這樣就避免到時候把文件mv了之後,原先運行的nginx日誌沒地方寫入尷尬的境地)

運行了兩天,看一下成果~

技術分享圖片

小百萬的訪問量,每個日誌還是很大~

下一步得要做威脅分析,進一步挖掘日誌中的內容,祝我好運~

【運維實戰】一次linux日誌分割之路——將日誌按照每小時進行分割,並按照“日期-小時”格式保存