Files
mDuo13 554a3732d4 Migrate content syntax via script
The changes in this commit were auto-generated by running

tool/migrate.sh

Following this commit, the Dactyl build no longer works but the Redocly
build (mostly) should.
2024-01-31 16:09:41 -08:00

3.2 KiB

html, parent, blurb, labels
html parent blurb labels
logrotate.html logging-and-data-management-methods.html Reopen the log file.
Data Retention

logrotate

[Source]

The logrotate command closes and reopens the log file. This is intended to help with log rotation on Linux file systems.

Most Linux systems come pre-installed with a logrotate program, which is separate from this command. Application specific log rotation scripts are placed in /etc/logrotate.d

The following script is a sample that can be created as /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
}

You can configure parameters such as minsize and rotate depending on the amount of logs you keep. Use the log_level setting in your rippled.cfg file to configure how verbose your server's logs are. This sample script is based on standard log_level and stores approximately 2 weeks worth of logs in a compressed format.

The official packages for CentOS/Red Hat and Ubuntu or Debian provide the script /etc/logrotate.d/rippled by default. You can make modifications to this as required. Your modifications will not be overwritten on package upgrades.

Note: You should have only one system log rotation script per application. Please ensure that you do not have any other log rotation that handles the same directory.

The logrotate method is an admin method that cannot be run by unprivileged users.

Request Format

An example of the request format:

{% tabs %}

{% tab label="WebSocket" %}

{
    "id": "lr1",
    "command": "logrotate"
}

{% /tab %}

{% tab label="Commandline" %}

#Syntax: logrotate
rippled logrotate

{% /tab %}

{% /tabs %}

The request includes no parameters.

Response Format

An example of a successful response:

{% tabs %}

{% tab label="JSON-RPC" %}

200 OK

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

{% /tab %}

{% tab label="Commandline" %}

Loading: "/etc/rippled.cfg"
Connecting to 127.0.0.1:5005

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

{% /tab %}

{% /tabs %}

The response follows the [standard format][], with a successful result containing the following fields:

Field Type Description
message String On success, contains the message The log file was closed and reopened.

Possible Errors

  • Any of the [universal error types][].

{% raw-partial file="/_snippets/common-links.md" /%}