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.