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> } )
コマンドフィールド
このコマンドは、次のフィールドを使用します。
フィールド | タイプ | 説明 |
---|---|---|
| 整数または文字列 | ローテーションするログは、次のように表示されます。
|
| string | 任意。ログローテーション時にサーバーがログファイルと監査ファイルに記録するメッセージ。 |
SIGUSR1
シグナルを mongod
プロセスに送信してログをローテーションすることもできます。
たとえば、実行中の mongod
インスタンスのプロセス ID(PID)が 2200
の場合、次のコマンドは Linux 上でそのインスタンスのログファイルをローテーションします。
kill -SIGUSR1 2200
制限
を使用するには、
mongod
--logpath [file]
logRotate
インスタンスが オプションで実行されている必要があります監査ログをローテーションするには、監査を有効にする必要があります。
動作
systemLog.logRotate
設定または--logRotate
オプションはlogRotate
の動作を指定します。
systemLog.logRotate
または--logRotate
がrename
に設定されている場合、 logRotate
は現在のタイムスタンプをファイル名に追加して、既存のログファイルの名前を変更します。 追加されたタイムスタンプの形式は次のとおりです。
<YYYY>-<mm>-<DD>T<HH>-<MM>-<SS>
logRotate
は、systemLog.path
設定でmongod
またはmongos
に対して最初に指定された名前と同じ名前の新しいログファイルを作成します。
systemLog.logRotate
または--logRotate
がreopen
に設定されている場合、 logRotate
は一般的な Linux/Unix の動作に従い、ログファイルを閉じてから同じ名前のログファイルを再度開きます。 reopen
では、 mongod
は、ローテーションの前に別のプロセスによってファイルの名前が変更され、その結果新しいファイルが作成されることを想定しています。
例
次の例では、サーバーログと監査ログの両方をローテーションしています。
db.adminCommand( { logRotate: 1 } )
次の例では、監査ログのみをローテーションし、ローテーション時にログファイルにカスタムメッセージを提供します。
db.adminCommand( { logRotate: "audit", comment: "Rotating audit log" } )