O'Reilly logo

Perl for Web Site Management by John Callender

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required