文档菜单
文档首页
/
MongoDB 手册
/ / /

日志旋转

本页内容

  • 定义
  • 兼容性
  • 语法
  • 命令字段
  • 限制
  • 行为
  • 示例
日志旋转

日志旋转命令是一个管理命令,允许您旋转MongoDB服务器的日志和/或审计日志,以防止单个日志文件消耗过多的磁盘空间。

您必须在admin数据库上发出.

此命令在以下环境中托管的部署中可用

  • MongoDB Atlas:MongoDB云部署的全托管服务

重要

此命令在M0、M2、M5和M10+集群中不受支持。更多信息,请参阅不受支持的命令。

命令有以下语法

db.adminCommand(
{
logRotate: <integer or string>,
comment: <string>
}
)

命令接受以下字段

字段
类型
描述
日志旋转
整数或字符串

根据以下内容旋转的日志或日志

  • 1 -- 同时旋转服务器和审计日志

  • "server" -- 只旋转服务器日志

  • "audit" -- 只旋转审计日志

注释
字符串
可选。 服务器在日志旋转时记录到日志文件和审计文件的日志信息。

您也可以通过向mongod进程发送SIGUSR1信号来旋转日志。

例如,如果一个正在运行的mongod实例的进程ID (PID) 为2200,下面的命令可以在Linux上旋转该实例的日志文件

kill -SIGUSR1 2200

systemLog.logRotate设置或--logRotate选项指定了logRotate的行为。

systemLog.logRotate--logRotate 被设置为 rename 时,logRotate 会通过在文件名后附加当前时间戳来重命名现有的日志文件。附加的时间戳格式如下

<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>

然后,logRotate 创建一个新的日志文件,其名称与由 systemLog.path 设置最初指定的名称相同,用于 mongodmongos

systemLog.logRotate--logRotate 被设置为 reopen 时,logRotate 会遵循典型的 Linux/Unix 行为,简单地关闭日志文件然后重新打开具有相同名称的日志文件。使用 reopenmongod 预期另一个进程在旋转之前重命名文件,并且重新打开的结果将创建一个新的文件。

以下示例同时旋转服务器日志和审计日志

db.adminCommand( { logRotate: 1 } )

以下示例仅旋转审计日志,并在旋转日志文件时向日志文件提供自定义消息

db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )

返回

列出索引