天天看點

linux resin日志大小設定

描述:resin伺服器在被通路時,所有的日志都記錄在access.log檔案中,随着通路次數的增多,日志量越來越多,導緻access.log檔案的大小不斷增大。

在resin官方手冊中有關于access的配置,可以配置定周期備份。配置方法如下:

(1)找到resin的安裝目錄并進入,以/user/resin-pro-4.0.63目錄為例,

執行:cd /user/resin-pro-4.0.63

(2)進入resin配置檔案的目錄,

執行:cd conf

(3)查找access-log所在的檔案

執行:grep -a ‘access-log’ *

執行結果如下:

linux resin日志大小設定

那這邊access-log所在的檔案就是cluster-default.xml。

(4)修改配置檔案cluster-default.xml

執行:vi cluster-default.xml

找到 access-log 行,

修改配置如下:

<access-log path="log/access.log"
                 format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
                 rollover-size="10mb"
                 rollover-count="20"
                 auto-flush="true"
            />
           

配置說明:

a.其中path表示日志生成的路徑;format表示日志輸出的格式,采用類似C語言中的printf函數的列印格式格式化日志資訊;

b.rollover-period表示復原的周期,1D表示以一天為機關復原,所謂的復原是将目前所有寫日志操作都先鎖住,然後将檔案的内容複制到檔案名帶時間戳的檔案裡,完成之後access.log檔案繼續使用。同理,如果配置的是1W就表示以一周為機關;

c.rollover-count表示備份的檔案數,這裡配置是2,表示最多隻備份兩個備份檔案,超過的就将更早的那個備份檔案删除。但是在高并發的情況下,例如使用者的通路量集中在某個時間段,且數量非常之大,或者是在做壓力測試,這個時候access.log可能等不到一天的周期復原就爆滿了,緻使導緻線程無空間運作,甚至resin都無法啟動。在某些文章上看到部分人是将access.log的輸出關閉(resin.conf中不寫<access-log …/>這段配置就可以關閉了),這是一個解決方法。

第二配置方案:

<access-log path="log/access.log"
                 format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
                 rollover-period="1D"
                 rollover-size="10mb"
                 rollover-count="20"
                 auto-flush="true"
            />
           

此外周期復原和限制大小復原可以一起使用,經過測試确實能生效。

繼續閱讀