Docs Menu
Docs Home
/
MongoDB マニュアル
/ / /

logRotate

項目一覧

  • 定義
  • 互換性
  • 構文
  • コマンドフィールド
  • 制限
  • 動作
logRotate

logRotateコマンドは、MongoDB Server ログや監査するログをローテーションして、単一のログが大量のディスク領域を消費しないようにする管理コマンドです。

管理データベースに対して logRotate コマンドを発行する必要があります。

このコマンドは、次の環境でホストされている配置で使用できます。

  • MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです

重要

このコマンドは、M 0 、M 2 、M 5 、M 10クラスターではサポートされていません。 詳細については、「サポートされていないコマンド 」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

このコマンドの構文は、次のとおりです。

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

このコマンドは、次のフィールドを使用します。

フィールド
タイプ
説明
logRotate
整数または文字列

ローテーションするログは、次のように表示されます。

  • 1 -- サーバーログと監査ログの両方をローテーション

  • "server" -- サーバーログのみをローテーション

  • "audit" -- 監査ログのみをローテーション

comment
string
任意。ログローテーション時にサーバーがログファイルと監査ファイルに記録するメッセージ。

SIGUSR1 シグナルを mongod プロセスに送信してログをローテーションすることもできます。

たとえば、実行中の mongod インスタンスのプロセス ID(PID)が 2200 の場合、次のコマンドは Linux 上でそのインスタンスのログファイルをローテーションします。

kill -SIGUSR1 2200
  • を使用するには、 mongod--logpath [file]logRotateインスタンスが オプションで実行されている必要があります

  • 監査ログをローテーションするには、監査を有効にする必要があります。

systemLog.logRotate設定または--logRotateオプションはlogRotateの動作を指定します。

systemLog.logRotateまたは--logRotaterenameに設定されている場合、 logRotateは現在のタイムスタンプをファイル名に追加して、既存のログファイルの名前を変更します。 追加されたタイムスタンプの形式は次のとおりです。

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

logRotateは、systemLog.path設定でmongodまたはmongosに対して最初に指定された名前と同じ名前の新しいログファイルを作成します。

systemLog.logRotateまたは--logRotatereopenに設定されている場合、 logRotateは一般的な Linux/Unix の動作に従い、ログファイルを閉じてから同じ名前のログファイルを再度開きます。 reopenでは、 mongodは、ローテーションの前に別のプロセスによってファイルの名前が変更され、その結果新しいファイルが作成されることを想定しています。

次の例では、サーバーログと監査ログの両方をローテーションしています。

db.adminCommand( { logRotate: 1 } )

次の例では、監査ログのみをローテーションし、ローテーション時にログファイルにカスタムメッセージを提供します。

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

戻る

listIndexes