---
name: "pmlogger_daily_report"
section: "1"
platform: "linux"
package: "pcp"
version: "7.2.2-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pmlogger_daily_report"
---

# pmlogger\_daily\_report(1)

write Performance Co-Pilot daily summary reports

## NAME

**pmlogger\_daily\_report** - write Performance Co-Pilot daily summary reports

## SYNOPSIS

**$PCP\_BINADM\_DIR/pmlogger\_daily\_report** \[**-ApV?**\] \[**-a** *archivefile*\] \[**-f** *outputfile*\] \[**-h** *hostname*\] \[**-l** *logfile*\] \[**-o** *directory*\] \[**-t** *interval*\]

## DESCRIPTION

**pmlogger\_daily\_report** writes daily performance summary reports, much like those produced by **sadc**(1) and the [**sa2**(8)](/sa2/8.md) utility.

All of the command line arguments are optional and intended to be self explanatory.

By default, the reports are not generated, but if the *pcp-zeroconf* package has been installed (there will be files in **$PCP\_VAR\_DIR/config/pmlogconf/zeroconf**) then the necessary metrics will have been included in the default [**pmlogger**(1)](/pmlogger/1.md) configuration file and the reports will be generated.

The reports are generated (by default) soon after midnight, once [**pmlogger\_daily**(1)](/pmlogger_daily/1.md) has completed the merging of any partial archives to generate one archive for yesterday's activity.

Each performance summary report is named **sar***XX* (where *XX* is yesterdays day-of-the-month). The *outputfile* may be changed with the **-f** option. The report will be written to the *$PCP\_LOG\_DIR/sa* directory by default, but this may be changed with the **-o** option to a different *directory*.

Note that there are sufficiently flexible command line options for **pmlogger\_daily\_report** to be used to read any *archivefile* and write the report to any output directory.

If the **-a** option is not given, the default input *archivefile* is *$PCP\_ARCHIVE\_DIR/HOSTNAME/YYYYMMDD*, where *HOSTNAME* defaults to the local hostname (unless changed with the **-h** option) and *YYYYMMDD* is the base name of yesterdays merged archive, as produced by [**pmlogger**(1)](/pmlogger/1.md) and [**pmlogger\_daily**(1)](/pmlogger_daily/1.md). If *archivefile* is a directory, then **pmlogger\_daily\_report** will use all PCP archives found in that directory to write the report (this is known as multi-archive mode, and may be considerably slower than specifying a single archive as the input).

The reports themselves are created by the [**pmrep**(1)](/pmrep/1.md) utility using its default configuration file, see [**pmrep.conf**(5)](/pmrep.conf/5.md). The [**pmrep**(1)](/pmrep/1.md) configuration entries used to write the reports is currently hardwired into the **pmlogger\_daily\_report** script.

Finally, the input archives must contain sufficient metrics as needed by [**pmrep**(1)](/pmrep/1.md) to write the report. On platforms that support it, the *pcp-zeroconf* package configures PCP logging as required for this - hence **pmlogger\_daily\_report** should be used with the [**pmlogger**(1)](/pmlogger/1.md) configuration that is set up by **pcp-zeroconf**. As the name suggests, **pcp-zeroconf** requires no additional configuration after installation in order to capture the required archives needed by **pmlogger\_daily\_report**.

## OPTIONS

The available command line options are:

- **-a** *archive*

  Specifies an alternate input *archive* file basename or directory path.

- **-A**

  Use the start and end times of input archive for the report, as opposed to the default behaviour of 24 hours from midnight yesterday.

- **-f** *filename*

  Specifies an alternate output *filename*. **-h** *hostname* Specifies an alternate *hostname* to use within the default input archive file path.

- **-l** *file*, **--logfile**=*file*

  In order to ensure that mail is not unintentionally sent when this script is run from [**pmlogger\_daily**(1)](/pmlogger_daily/1.md) diagnostics are always sent to a log *file*. By default, this file is *$PCP\_LOG\_DIR/pmlogger/pmlogger\_daily\_report.log* but this can be changed using the **-l** option. If this log file already exists when the script starts, it will be renamed with a *.prev* suffix (overwriting any log file saved earlier) before diagnostics are generated to the log file.

- **-p**

  If this option is specified then the status of the daily processing is polled and if the report has not been done in the last 24 hours then it is done now. With this option, **pmlogger\_daily\_report** simply exits if the previous day's processing has already been done.

  This option is no longer required as the polling of [**pmlogger\_daily**(1)](/pmlogger_daily/1.md) will ensure the report will be generated, however the option is retained for backwards compatibility.

- **-t** *interval*

  Specifies the sampling *interval* used when generating the report, in the format described in [**PCPIntro**(1)](/PCPIntro/1.md). The default is every 10 minutes.

- **-V**, **--verbose**

  The output from the execution of the script may be extended using this option which enables verbose tracing of activity. By default the script generates no log output unless some error or warning condition is encountered.

- **-?**, **--help**

  Display usage message and exit.

## PCP ENVIRONMENT

Environment variables with the prefix **PCP\_** are used to parameterize the file and directory names used by PCP. On each installation, the file */etc/pcp.conf* contains the local values for these variables. The **$PCP\_CONF** variable may be used to specify an alternative configuration file, as described in [**pcp.conf**(5)](/pcp.conf/5.md).

## SEE ALSO

[**PCPIntro**(1)](/PCPIntro/1.md), [**pmlogger\_daily**(1)](/pmlogger_daily/1.md), [**pmlogger**(1)](/pmlogger/1.md), [**pmrep**(1)](/pmrep/1.md), **sadc**(1) and [**sa2**(8)](/sa2/8.md).
