All of the command line arguments are optional and intended to be self explanatory. If no arguments are specified, pmlogger_daily_report will be run by cron (8) at 2am each morning and write a performance summary report named sar XX (where XX is yesterdays day-of-the-month, wrapping to the previous month if today is the 1st). 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 the default crontab (5) entry currently specifies $PCP_LOG_DIR/sa as the output directory; this may be changed in the future.
If the -a option is not given, the default input archivefile is $PCP_LOG_DIR/pmlogger/HOSTNAME/YYYYMMDD , where HOSTNAME defaults to the local hostname (may be changed with the -h option) and YYYYMMDD is the base name of yesterdays merged archive, as produced by pmlogger (1) and the pmlogger_daily (1) scripts. 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).
Note that there are suffciently flexible command line options for pmlogger_daily_report to be used to read any archivefile and write the report to any output directory. As such, this tool can be configured by editing the crontab entry, $PCP_ETC_DIR/cron.d/pcp-pmlogger-daily-report and adding whatever command line options are required.
If the -p 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. The intent is to have pmlogger_daily_report called regularly with the -p option (at 30 mins past the hour, every hour in the default cron (8) set up) to ensure daily processing happens as soon as possible if it was missed at the regularly scheduled time (which is 02:00 by default), e.g. if the system was down or suspended at that time.
With the -p option, pmlogger_daily_report simply exits if the previous day's processing has already been done.
The reports themselves are created by the pmrep (1) utility using its default configuration file, see pmrep.conf (5). The pmrep (1) 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) 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) 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 .
In order to ensure that mail is not unintentionally sent when this script is run from cron (8) 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.
The output from the cron (8) execution of the script may be extended using the -V option which enables verbose tracing of activity. By default the script generates no log output unless some error or warning condition is encountered.