logrotate

[ソース]

logrotateコマンドは、ログファイルを閉じて再度開きます。これは、Linuxファイルシステムでのログローテーションを促進することを目的としています。

通常、Linuxシステムには、logrotate プログラムがプリインストールされていますが、このコマンドとは異なります。アプリケーション固有のログローテーションスクリプトは、/etc/logrotate.dに配置されています。

次のスクリプトは、/etc/logrotate.d/rippledとして作成できるサンプルです。

/var/log/rippled/*.log {
  daily
  minsize 200M
  rotate 7
  nocreate
  missingok
  notifempty
  compress
  compresscmd /usr/bin/nice
  compressoptions -n19 ionice -c3 gzip
  compressext .gz
  postrotate
    /opt/ripple/bin/rippled --conf /opt/ripple/etc/rippled.cfg logrotate
  endscript
}

保持するログの量に応じて、minsizerotateなどのパラメーターを構成できます。rippled.cfgファイルのlog_level設定を使用して、サーバーのログの詳細度を設定します。このサンプルスクリプトは標準のlog_levelに基づいており、約2週間分のログを圧縮形式で保存します。

rippled 1.3以降、スクリプト/etc/logrotate.d/rippledは、DEBおよびRPMパッケージによって自動的にインストールされます。この設定は、必要に応じて変更できます。パッケージのアップグレード時に変更内容が上書きされることはありません。

注記: システムのlogrotateスクリプトは、アプリケーションごとに1つしか持てません。同じディレクトリを処理するログローテーションが他にないことを確認してください。

logrotateメソッドは、権限のないユーザーは実行できない管理メソッドです。

要求フォーマット

要求フォーマットの例:

{
    "id": "lr1",
    "command": "logrotate"
}
#Syntax: logrotate
rippled logrotate

要求にはパラメーターが含まれていません。

応答フォーマット

処理が成功した応答の例:

200 OK

{
   "result" : {
      "message" : "The log file was closed and reopened.",
      "status" : "success"
   }
}
Loading: "/etc/rippled.cfg"
Connecting to 127.0.0.1:5005

{
   "result" : {
      "message" : "The log file was closed and reopened.",
      "status" : "success"
   }
}

この応答は標準フォーマットに従っており、正常に完了した場合は結果に次のフィールドが含まれます。

Field 説明
message 文字列 正常に完了した場合、次のメッセージが含まれています。The log file was closed and reopened.

考えられるエラー