使用logrotate日誌切割工具輪循mysql的error.log/slow.log,遇到未生成壓縮檔案,測試執行卻正常

logincheck發表於2020-10-21

環境:5.7.* percona mysql

日誌切割指令碼放在

/etc/logrotate.d/

下,用的percona自帶的指令碼,內容此處省略。

 

使用

/usr/sbin/logrotate -f /etc/logrotate.d/xx

測試執行,正常生成壓縮檔案。(此時不會生成帶日期的包,是1、2、3類似這種)

 

等cron自動執行,第二天沒有生成壓縮檔案,生成了帶日期的log檔案,同時當天的日誌繼續寫在該帶日期的log檔案上。

原因及解決方案:

調整系統資源限制(未設定可能會造成logrotate日誌輪循無法生成mysql屬主的壓縮檔案,當mysql有一定訪問量,程式超過預設系統值時),具體數值自己研究,但不要太小,以下只是參考。

vim /etc/security/limits.d/90-nproc.conf

*          soft    nproc     40960

root       soft    nproc     unlimited

vim /etc/security/limits.conf

*               soft    nofile           102400

*               hard    nofile           102400

相關文章