bcron
Short Description
Bruce Guenter <bruce@untroubled.org>
Version 0.10
2012-11-15

This is bcron, a new cron system designed with secure operations in
mind.  To do this, the system is divided into several seperate programs,
each responsible for a seperate task, with strictly controlled
communications between them.  The user interface is a drop-in
replacement for similar systems (such as vixie-cron), but the internals
differ greatly.

A mailing list has been set up to discuss this and other packages.
To subscribe, send an email to:
	bgware-subscribe@lists.untroubled.org
A mailing list archive is available at:
	http://lists.untroubled.org/?list=bgware

Development versions of bcron are available via git at:
	http://untroubled.org/git/bcron.git

Requirements:

- Needs ucspi-unix (or ucspi-local) to be able to accept user-submitted
  crontabs.
- bglibs version 1.100 or later from http://untroubled.org/bglibs/

Installation:

- Edit the configuration in the conf-* files as necessary.
- Build the sources by running "make".
- Install the package by running "make install" as root.

Configuration:

- Create a system user and group "cron".  This user will own all the
  crontab files.

- Create the spool directory as follows:
  mkdir -p /var/spool/cron/crontabs /var/spool/cron/tmp
  mkfifo /var/spool/cron/trigger
  for i in crontabs tmp trigger; do
    chown cron:cron /var/spool/cron/$i
    chmod go-rwx /var/spool/cron/$i
  done

- Create the configuration directory /etc/bcron as follows:
  mkdir -p /etc/bcron
  You can put any common configuration settings into this directory,
  like alternate spool directories in BCRON_SPOOL.

Operation:

- The scheduler can be started with the following command:
  envdir /etc/bcron bcron-start | multilog t /var/log/bcron &

- To accept crontabs from users, run the spooler:
  envdir /etc/bcron \
  envuidgid cron \
  unixserver -U /var/run/bcron-spool \
  bcron-spool >/dev/null 2>&1 &

- To update system crontabs, run the updater:
  envdir /etc/bcron \
  bcron-update /etc/crontab /etc/cron.d >/dev/null 2>&1 &

- Sample run scripts are provided for operating the above commands under
  svscan and supervise (or equivalents such as runit).

This package is Copyright(C) 2012 Bruce Guenter or FutureQuest, Inc.,
and may be copied according to the GNU GENERAL PUBLIC LICENSE (GPL)
Version 2 or a later version.  A copy of this license is included with
this package.  This package comes with no warranty of any kind.
