Docs 菜单

Docs 主页开发应用程序MongoDB Manual

logRotate

在此页面上

  • 定义
  • 语法
  • 命令字段
  • 限制
  • 行为
  • 举例
logRotate

logRotate命令是一条管理命令,允许您轮换 MongoDB 服务器日志和/或审核日志,以防止单个日志文件占用过多磁盘空间。

您必须对logRotate 管理员数据库 发出 命令。

该命令具有以下语法:

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

该命令接受以下字段:

字段
类型
说明
logRotate
整数或字符串

要轮换的一个或多个日志,按以下方式进行:

  • 1 -- 切换服务器和审核日志

  • "server" -- 仅轮换服务器日志

  • "audit" -- 仅切换审核日志

comment
字符串
可选。日志轮换时服务器记录到日志文件和审核文件的消息。

您也可以通过向 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 行为,只需关闭日志文件,然后重新打开具有相同名称的日志文件即可。使用reopen时, mongod期望另一个进程在轮换之前重命名该文件,并且重新打开会创建一个新文件。

下面的示例同时轮换服务器日志和审核日志:

db.adminCommand( { logRotate: 1 } )

以下示例仅轮换审核日志,并在轮换时向日志文件提供自定义消息:

db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )
← listIndexes
reIndex →