現場(環境):CentOS 7 套件: Apache (rotatelogs)
原因
沒有任何設定之前,
我們的log檔都會被寫在同一個檔案之中。
這對短期活動就算了,
若是官方網站你還這樣玩,會出大事的。
你可能會看到一個超過10G的文件檔。
這樣我就看你要怎麼去打開這個檔案。
所以這邊我們需要透過其他方式,
將我們網站每天的LOG資訊分開。
處理方式:
這邊就打算利用rotatelogs的方法來處理。
預設的樣子
#CustomLog "/home/prog/log/DM_access.log" combined
#ErrorLog "/home/prog/log/DM_error.log"
更改後
CustomLog "|/usr/sbin/rotatelogs -l /home/prog/log/DM_error-%Y%m%d.log 604800" combined
ErrorLog "|/usr/sbin/rotatelogs -l /home/prog/log/DM_error-%Y%m%d.log 604800"
%Y 表示[年] ; %m表示[月] ; %d表示[日]
-l 參數後的604800 再不加任何單位的狀況下,預設是用秒。
表示604800秒後要切換到下一個檔案(604800表示一個星期)。
如果要每天切換則是86400。
但這邊也可以去掉-l參數,接著再最後面的數字加單位 M,
以100M為範例,就是表示每100M要切換一個LOG檔。
但我們通常會希望以時間來切換,所以這邊就不加單位。
用預設的時間來做切換。
在SSL憑證的地方
ssl.conf當中
因為這邊用的是TransferLog 。
方法與CustomLog 不同,
後面別再帶common或者combined這些不屬於他的參數。
ErrorLog "|/usr/sbin/rotatelogs -l /home/prog/log/DM_SSL_error-%Y%m%d.log 86400"
TransferLog "|/usr/sbin/rotatelogs -l /home/prog/log/DM_SSL_access-%Y%m%d.log 86400"
一樣這邊設定完成後。重啟服務就正式啟用服務了。
#systemctl stop httpd
#systemctl start httpd
<本篇完>