Linux下使用cronolog切割服務(wù)器日志文件的方法
發(fā)布日期:2022-02-03 18:02 | 文章來(lái)源:站長(zhǎng)之家
Linux下運(yùn)行的Web服務(wù)器Apache,默認(rèn)日志文件是不分割的,一個(gè)整文件既不易于管理,也不易于分析統(tǒng)計(jì)。安裝cronolog后,可以將日志文件按時(shí)間分割,易于管理和分析。
cronolog安裝配置非常簡(jiǎn)單,下載后只需要輸入幾個(gè)命令即可完成。
1、下載(最新版本)
復(fù)制代碼
代碼如下:# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解壓縮
復(fù)制代碼
代碼如下:# tar zxvf cronolog-1.6.2.tar.gz
3、進(jìn)入cronolog安裝文件所在目錄
復(fù)制代碼
代碼如下:# cd cronolog-1.6.2
4、運(yùn)行安裝
復(fù)制代碼
代碼如下:# ./configure
# make
# make install
5、查看cronolog安裝后所在目錄(驗(yàn)證安裝是否成功)
復(fù)制代碼
代碼如下:# which cronolog
一般情況下顯示為:/usr/local/sbin/cronolog
整個(gè)安裝過(guò)程結(jié)束,下面需要把日志的格式配置一下:
1、虛擬主機(jī)配置文件 httpd-vhosts.conf
將Web日志設(shè)置 CustomLog 修改為以下格式
復(fù)制代碼
代碼如下:CustomLog "|/usr/local/sbin/cronolog /www/logs/example_%Y%m%d.log" combined
當(dāng)然,錯(cuò)誤日志設(shè)置 ErrorLog 也可以利用 cronolog 分割,設(shè)置為
復(fù)制代碼
代碼如下:ErrorLog "|/usr/local/sbin/cronolog /www/logs/error_%Y%m%d.log"
2、如果服務(wù)器上只有一個(gè)站點(diǎn)(當(dāng)然這種情況比較少),直接按上面所說(shuō)格式修改 httpd.conf 文件日志設(shè)置部分。
說(shuō)明:
綠色部分 為 cronolog 安裝后所在位置,系統(tǒng)版本不同可能位置不完全一樣,以 which 命令查看到的位置為準(zhǔn);
藍(lán)色部分 為設(shè)置的日志文件所在位置,根據(jù)需要修改;
紅色部分 為設(shè)置的日志文件標(biāo)識(shí)性字符,根據(jù)需要修改;
%Y%m%d 為日志文件分割方式,例子中為“年月日”,也可以修改成自己需要的。
修改httpd.conf文件:
這個(gè)文件在我的電腦上是在 /etc/httpd/conf/httpd.conf 不同的服務(wù)器 應(yīng)該是不一樣的
在最后加上
復(fù)制代碼
代碼如下:<VirtualHost *:80>
# ServerAdmin webmaster@dummy-host.example.com
# DocumentRoot /www/docs/dummy-host.example.com
# ServerName dummy-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
#這個(gè)保證了每天一個(gè)文件夾 文件夾下 每個(gè)小時(shí)產(chǎn)生一個(gè)log
#CustomLog "|/usr/local/sbin/cronolog /data/logs/apache/%Y%m%%Hdaccess_log" combined
</VirtualHost>
進(jìn)入到 /etc/init.d/httpd configtest 這樣驗(yàn)證你的配置文件是否正確
進(jìn)入到 /etc/init.d/httpd restart 重啟apache 服務(wù)器(不同的系統(tǒng)應(yīng)該是不一樣 要自己找到)
用于Tomcat
第一步
將
復(fù)制代碼
代碼如下:if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
修改為
復(fù)制代碼
代碼如下:if [ -z "$CATALINA_OUT" ] ; then
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
fi
第二步
將
復(fù)制代碼
代碼如下:touch "$CATALINA_OUT"
改為
復(fù)制代碼
代碼如下:#touch "$CATALINA_OUT"
第三步
將
復(fù)制代碼
代碼如下:org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT"2>&1 &
修改為
復(fù)制代碼
代碼如下:org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
重新啟動(dòng) Tomcat
復(fù)制代碼
代碼如下:service tomcat restart
可以在 Tomcat 的 logs 目錄底下找到以系統(tǒng)日期為結(jié)尾的 catalina.out.yyyy-mm-dd 的檔案,這樣子就成功了。
后續(xù)就是持續(xù)觀察看看是不是每天都有產(chǎn)生一個(gè)新的 catalina.out.yyyy-mm-dd 檔案。然后再安排定期刪除這些較舊的 log 檔即可。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章