mongodb - 为什么 MongoDB 不使用 logrotate 轮换日志?
问题描述
MongoDB/logrotate 似乎无法轮换日志,我不知道为什么。这是我的配置:
在 /etc/mongod.conf 中:
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
logRotate: reopen
processManagement:
pidFilePath: /var/run/mongod.pid
我有一个 /etc/logrotate.d/mongodb 文件:
/var/log/mongodb/mongod.log
{
daily
rotate 30
missingok
notifempty
compress
delaycompress
create 640 mongodb mongodb
sharedscripts
postrotate
/bin/kill -SIGUSR1 `cat /var/run/mongod.pid 2>/dev/null` >/dev/null 2>&1
endscript
}
我可以看到文件中的 PID 与进程匹配,但我不确定为什么日志没有轮换:
root 22938 1 1 Dec15 ? 00:21:21 /usr/bin/mongod --fork --quiet --config /etc/mongod.conf
cat /var/run/mongod.pid
22938
我的配置有问题吗?任何帮助,将不胜感激
谢谢
解决方案
我使用kill -USR1 $(/usr/sbin/pidof mongod)
哪个工作正常。
$ kill -USR1 $(/usr/sbin/pidof mongod)
$ tail /var/log/mongodb/mongod.log | grep SignalHandler
{"t":{"$date":"2020-12-14T23:59:01.622+01:00"},"s":"I", "c":"CONTROL", "id":23377, "ctx":"SignalHandler","msg":"Received signal","attr":{"signal":10,"error":"User defined signal 1"}}
{"t":{"$date":"2020-12-14T23:59:01.622+01:00"},"s":"I", "c":"CONTROL", "id":23378, "ctx":"SignalHandler","msg":"Signal was sent by kill(2)","attr":{"pid":33744,"uid":475}}
{"t":{"$date":"2020-12-14T23:59:01.622+01:00"},"s":"I", "c":"CONTROL", "id":23166, "ctx":"SignalHandler","msg":"Log rotation initiated"}
推荐阅读
- python - 为什么我需要 web api 来链接 django 和其他 js 框架
- django - Wagtail 博客示例导致没有属性“_default_manager”
- c++ - 如何设置 CMakeLists.txt 以正确导入 AntTweakBar 库?
- python - how module/function is imported and how to know which keywords can be passed to built-in functions
- ios - Build IOS in flutter it's showing GeneratedPluginRegistrant.m Plugin headers not found ex :(#import
) - c++ - How to integrate windows/Internet explorer's internet properties options and proxy?
- javascript - How to fix eslint prefer-destructuring if we want to override defined variable?
- android - Getting notification in the future which has been scheduled for specific dates
- realm - javascript ream.close() not closing, stopped
- string - Why does open with :w and :append still overwrite the file?