Mailing the Report

The log_report.plx script is basically done. We’re going to add just one more feature: a section that lets us specify a list of email addresses to receive a mailed copy of the report every time the script is run.

We can just run the script manually from the command line whenever we get curious about what’s going on in the log files, but it works best if we schedule it to run automatically at set intervals. A typical approach would be to have it run in the wee hours of the morning, building a report based on the previous day’s log file. (Most web servers are configured to have their access logs rotated on a daily basis, so a particular filename like access.log.1 will always correspond to the previous day’s log.) With this email feature, we can have the finished report sitting in our inbox ready for reading with our morning coffee.

In a moment we’ll look at how we can use the Unix cron command to automate the running of log_report.plx. For now, let’s add the emailed delivery option.

First, we need to figure out where our web server’s copy of the sendmail program resides:

[jbc@andros jbc]$ which sendmail
/usr/sbin/sendmail

Tip

Historically, the sendmail mail-delivery program has been the standard in the Unix world, but it is becoming less so. Still, even if your web server has some other mail delivery agent installed instead of sendmail, it is possible that that delivery agent features a sendmail-compatible emulation mode, such that you can use the following code ...

Get Perl for Web Site Management now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.