No description
Find a file
Dale Mellor 0fe4d2cc95
Merge system-wide Vixie cron updates.
I don't believe that anyone should be running system-wide cron processes these
days (the attack surface is rather large), but should use separate per-user or
per-service mcron daemon processes.  But mcron is advertised as a drop-in
Vixie replacement, so we should do what we can to make it safe in this use
case.

I've performed a basic vetting of the changes against vandalism, but haven't
verified the correctness of the code or done any checking; the changes are
being accepted on the basis that almost anything is an improvement on what
currently exists.
2023-03-18 14:18:17 +00:00
build-aux Lose hope of running against guile 2.2 or earlier. 2022-07-07 16:56:54 +01:00
doc Remove (next-week) from texinfo documentation, discuss equivalent as example. 2023-03-15 20:57:24 +00:00
src Merge system-wide Vixie cron updates. 2023-03-18 14:18:17 +00:00
tests Incorporate and use command-line-processor proposed for Guile core 2022-07-07 22:19:06 +01:00
.dir-locals.el all: Add a custom indentation rule for 'mcron-error'. 2016-05-07 16:17:52 +02:00
.gitignore tests: Add 'basic.sh' 2017-09-28 18:48:49 +02:00
.prev-version maint: Post-release administrivia 2018-04-08 17:02:27 +02:00
AUTHORS Updated my e-mail address. 2020-02-27 21:16:39 +00:00
bootstrap build: Add 'bootstrap' script. 2017-09-28 13:19:28 +02:00
ChangeLog build: Generate 'ChangeLog' upon 'make dist'. 2016-05-07 11:32:19 +02:00
ChangeLog.old build: Generate 'ChangeLog' upon 'make dist'. 2016-05-07 11:32:19 +02:00
configure.ac Merge system-wide Vixie cron updates. 2023-03-18 14:18:17 +00:00
COPYING Upgrade to GPLv3 and bump version to 1.0.4. 2010-06-12 20:53:51 +01:00
HACKING maint: Replace "build-aux/gnu-fetch" with 'fetch' maintainer rule 2018-03-26 01:46:44 +02:00
maint.mk final push for 1.1.2 2018-11-26 19:08:16 +01:00
Makefile.am crontab-access: replace with wrapper, rename to crontab-access-real. 2023-03-18 14:00:26 +00:00
NEWS updating for next release 2021-08-05 10:24:44 +02:00
README maint: Update README 2018-04-08 16:46:36 +02:00
TODO all: Separate programs in different executables. 2016-12-01 00:15:43 +01:00

This is GNU Mcron, a tool to run jobs at scheduled times.  It is a complete
replacement for Vixie cron.  Besides supporting the traditional Vixie syntax
for its configuration files, GNU Mcron offers the possibility to define jobs
using the Scheme language.

See the INSTALL file for generic information about how to configure and
install GNU Mcron.  If this file is not present, see HACKING for
preliminary build instructions.

----------------------------------------------------------------------
IMPORTANT NOTICES

Do not (yet) install this software on a machine which relies for its
functioning on its current set of crontabs.

To not replace the cron daemon on a system, the package must be installed
with the --disable-multi-user configure option.

Before installing this package for the first time, it is necessary to terminate
any running cron daemons on your system. If your old cron is not Vixie or
accurately Vixie compatible (files in /var/cron/tabs*, /var/cron/allow,
/var/cron/deny, /etc/crontab, /var/run/cron.pid) then you will need to clear out
all old crontabs and make new ones afresh - or else look very carefully at the
options you pass to the package configure script, as follows.

It is often the case that GNU/Linux distributions and other Unices hacked the
cron daemon to use different directories to those above. You can use configure
options --spool-dir, --socket-file, --allow-file, --deny-file, --pid-file and
--tmp-dir to make mcron behave similarly. Note that, with the exception of
tmp-dir, none of these files or directories should be accessible by ordinary
(non-root) users.

If your old cron is Vixie, or very similar, mcron should fall right into place
where your old cron was (the binaries cron and crontab will be replaced, but if
your existing system has a binary called crond, you should make this a link
to mcron), and you should be able to continue to use your existing crontabs
without noticing any changes.

If you don't want to clobber your existing cron executables, you can specify
the --program-prefix option to configure with a prefix ending in a
non-alphabetic character, for example "m.", and then run the programs as
m.mcron, m.cron (or m.crond) and m.crontab.
----------------------------------------------------------------------


After compilation, read the info file for full instructions for use (typing
'info -f doc/mcron.info' at the command line should suffice).  Notes for end
users, sysadmins, and developers who wish to incorporate mcron into their own
programs are included here.

Features which might be implemented sometime sooner or later are noted in the
TODO file.

Please send all other bug reports to bug-mcron@gnu.org.

Mcron is free software. See the file COPYING for copying conditions.

The mcron development home page is at http://www.gnu.org/software/mcron, and it
can be obtained from ftp://ftp.gnu.org/pub/gnu/mcron.

-----

Copyright © 2003, 2005, 2006, 2012, 2014 Dale Mellor
Copyright © 2018 Mathieu Lirzin

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without warranty of any kind.