Configuring cron

Authors:Michael JasonSmith
Contact:Michael JasonSmith <mpj17@onlinegroups.net>
Date:2015-06-17
Organization:GroupServer.org
Copyright:This document is licensed under a Creative Commons Attribution-Share Alike 4.0 International License by OnlineGroups.net.

Introduction

The cron system needs to be configured to regularly execute two commands that provide some GroupServer functionality. One provides the daily digest of topics to those that elect to receive it. The other sends a monthly profile status to everyone.

See also

The Ubuntu Cron HOWTO has more information on how to use cron.

Daily digest of topics

Group members can elect to receive a daily digest of topics. It summarises the activity on the group on that day, which is an excellent way to follow what is happening in a group without being overwhelmed with email.

The cron system needs to be configured to execute the senddigest command that sends out the digest:

00 02 * * * /opt/groupserver/bin/senddigest http://groups.example.com/

The crontab(5) example above will send the digests for all the groups on the groups.example.com site, at 02:00 each day. It is recommended that the digests are sent out in the early-hours of the morning, as this means they will contain the activity for the full day.

Note

The full path to the senddigest command in your GroupServer installation will be needed, as PATH is not set for cron.

The senddigest command itself normally just takes the URL of the site as its only argument. However, the documentation for the senddigest command has more information about the optional arguments, and running the command manually.

Monthly profile status

Each month GroupServer can send out a personalised email to every person that has a profile on the site and is a member of at least one group. It summarises the activity in the groups, and provides personalised suggestions about how the GroupServer experience can be improved.

The cron system needs to be configured to execute the sendprofile command that sends out the summary:

0  11  1-7  *  *  /usr/bin/test $( date +\%u ) -eq 3 && \
  /opt/groupserver/bin/sendprofile -t1 http://groups.example.com/

The crontab(5) example above will send the summary to everyone on the groups.example.com site. The command will be run at eleven in the morning of the first Wednesday of every month. (I recommend that you send the notification in the middle of the day in the middle of the week because it is more likely to be read.)

The documentation for the sendprofile command details the arguments. The -t1 argument is used above to throttle the sendprofile command, slowing it down and allowing other requests to be processed. This is important because, unlike the daily digest of topics, the monthly profile status is run in the middle of the day when the site is likely to be busy, it is intensive to process, and is unique for every recipient.