MongoDB 日誌切割
MongoDB 默認是不會進行切割日誌的,除非我們配置了 logRotate = rename,並且重啓 MongoDB 服務,纔會進行切割日誌的,那麼爲了避免實際中我們一個日誌文件過大,我們需要對日誌進行切割,有兩個辦法:
1. 通過 MongoDB 管理命令進行切割
使用該命令時需要在 MongoDB 運行時指定日誌文件路徑。--logpath [file]
,或者在配置文件中指定。
use admin
db.runCommand({logRotate:1})
2. 通過 Linux 系統自帶的服務 logrotate 進行切割
首先我們需要配置 MongoDB 參數 logRotate = reopen, logappend = true,然後通過 Linux 系統自帶的 logrotate。配置文件放置在 /etc/logrotate.d/
, 切割配置文件示例:
/opt/mongodb/log/mongodb.log {
rotate 180
daily
size 100M
olddir /opt/mongodb/log/oldlog
copytruncate
dateext
compress
notifempty
missingok
}
3. 通過向進程發送 SIGUSR1 信號來切割日誌
如果我們的進程 id 是19555,那麼我們可以通過以下命令來切割日誌的。只要我們執行了該命令,日誌就會立即進行切割。