當前位置:首頁 » 操作系統 » linux日誌分割

linux日誌分割

發布時間: 2023-11-30 11:21:13

① Linux下使用cronolog切割伺服器日誌文件的方法

Linux下運行的Web伺服器Apache,默認日誌文件是不分割的,一個整文件既不易於管理,也不易於分析統計。安裝cronolog後,可以將日誌文件按時間分割,易於管理和分析。

cronolog安裝配置非常簡單,下載後只需要輸入幾個命令即可完成。

1、下載(最新版本)

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

2、解壓縮

# tar zxvf cronolog-1.6.2.tar.gz

3、進入cronolog安裝文件所在目錄

# cd cronolog-1.6.2

4、運行安裝

# ./configure

# make

# make install

5、查看cronolog安裝後所在目錄(驗證安裝是否成功)

# which cronolog

一般情況下顯示為:/usr/local/sbin/cronolog

整個安裝過程結束,下面需要把日誌的格式配置一下:

1、虛擬主機配置文件 httpd-vhosts.conf

將Web日誌設置 CustomLog 修改為以下格式

CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined

當然,錯誤日誌設置 ErrorLog 也可以利用 cronolog 分割,設置為

ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"

2、如果伺服器上只有一個站點(當然這種情況比較少),直接按上面所說格式修改 httpd.conf 文件日誌設置部分。

說明:

綠色部分 為 cronolog 安裝後所在位置,系統版本不同可能位置不完全一樣,以 which 命令查看到的位置為准;

藍色部分 為設置的日誌文件所在位置,根據需要修改;

紅色部分 為設置的日誌文件標識性字元,根據需要修改;

%Y%m%d 為日誌文件分割方式,例子中為「年月日」,也可以修改成自己需要的。

修改httpd.conf文件:

這個文件在我的電腦上是在 /etc/httpd/conf/httpd.conf 不同的伺服器 應該是不一樣的

在最後加上

# ServerAdmin [email protected]

# DocumentRoot /www/docs/mmy-host.example.com

# ServerName mmy-host.example.com

ErrorLog /data/logs/apache/webapps.wps.cn-error_log

CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%d/access_log.%H" combined

#這個保證了每天一個文件夾 文件夾下 每個小時產生一個log

#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined

進入到 /etc/init.d/httpd configtest 這樣驗證你的配置文件是否正確

進入到 /etc/init.d/httpd restart 重啟apache 伺服器(不同的'系統應該是不一樣 要自己找到)

用於Tomcat

第一步

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

fi

修改為

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

fi

第二步

touch "$CATALINA_OUT"

改為

#touch "$CATALINA_OUT"

第三步

org.apache.catalina.startup.Bootstrap "$@" start

>> "$CATALINA_OUT" 2>&1 &

修改為

org.apache.catalina.startup.Bootstrap "$@" start 2>&1

| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

重新啟動 Tomcat

service tomcat restart

可以在 Tomcat 的 logs 目錄底下找到以系統日期為結尾的 catalina.out.yyyy-mm-dd 的檔案,這樣子就成功了。

後續就是持續觀察看看是不是每天都有產生一個新的 catalina.out.yyyy-mm-dd 檔案。然後再安排定期刪除這些較舊的 log 檔即可。

② Linux系統下nginx日誌每天定時切割的腳本寫法

下面是deepvps自己用的自動每天定時切割Nginx日誌的`腳本,很方便很好用,推薦給大家使用。本腳本也是參考了張宴老師的文章,再次感謝張宴老師。

1、創建腳本/usr/local/nginx/sbin/cut_nginx_log.sh

vi /usr/local/nginx/sbin/cut_nginx_log.sh

輸入以下內容:

#!/bin/bash

# This script run at 00:00

# The Nginx logs path

logs_path=」/home/www/logs/」

mkdir -p ${logs_path}$(date -d 「yesterday」 +」%Y」)/$(date -d 「yesterday」 +」%m」)/

mv ${logs_path}access.log ${logs_path}$(date -d 「yesterday」 +」%Y」)/$(date -d 「yesterday」 +」%m」)/access_$(date -d 「yesterday」 +」%Y%m%d」).log

kill -USR1 `cat /usr/local/nginx/nginx.pid`

2、設置crontab,每天凌晨00:00切割nginx訪問日誌

crontab -e

輸入以下內容:

00 00 * * * /bin/bash /usr/local/nginx/sbin/cut_nginx_log.sh

熱點內容
不支持的壓縮演算法 發布:2024-11-30 00:44:54 瀏覽:901
機加工的編程 發布:2024-11-30 00:31:19 瀏覽:727
坦克世界電腦什麼配置 發布:2024-11-30 00:30:41 瀏覽:317
如何在手機設置上找到網路的密碼 發布:2024-11-30 00:18:29 瀏覽:414
和鷹加密鎖 發布:2024-11-30 00:17:17 瀏覽:556
C語言舞會 發布:2024-11-30 00:15:44 瀏覽:377
java下載我的世界 發布:2024-11-30 00:11:08 瀏覽:12
華三配置器升級失敗怎麼回事 發布:2024-11-30 00:09:23 瀏覽:842
汽車空調壓縮機壽命 發布:2024-11-30 00:06:04 瀏覽:567
電腦網路波動異常與伺服器失去連接 發布:2024-11-29 23:43:19 瀏覽:247