Difference between revisions of "Mcron"

From Free Software Directory
Jump to: navigation, search
(Is GNU checkbox)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{Entry
 
{{Entry
|Name=mcron
+
|Name=GNU mcron
|Short description=Vixie cron replacement
+
|Short description=Vixie cron replacement.
|Full description=Mcron is a 100% Vixie cron replacement written in pure Guile. As well as accepting traditional crontabs, it also accepts configuration files written in Scheme for infinite flexibility in specifying when jobs should run (it could take the system load into account, for example).
+
|Full description=The mcron program represents a complete re-think of the cron concept originally found in the Berkeley and AT&T unices, and subsequently rationalized by Paul Vixie.  The original idea was to have a daemon that wakes up every minute, scans a set of files under a special directory, and determines from those files if any shell commands should be executed in this minute.
|Homepage URL=http://www.gnu.org/software/mcron/
+
 
|User level=none
+
It'is a 100% Vixie cron replacement written in pure [[Guile]]. As well as accepting traditional crontabs, it also accepts configuration files written in [[Guile|Scheme]] for infinite flexibility in specifying when jobs should run (it could take the system load into account, for example).
|Computer languages=Scheme
+
 
|Documentation note=User manual available in HTML format from http://rdmp.org:20202/mcron/mcron.html
+
The new idea is to read the required command instructions, work out which command needs to be executed next, and then sleep until the inferred time has arrived.  On waking the commands are run, and the time of the next command is computed. Furthermore, the specifications are written in scheme, allowing at the same time simple command execution instructions and very much more flexible ones to be composed than the original Vixie format. This has several useful advantages over the original idea. (Changes to user crontabs are signalled directly to mcron by the crontab program; cron must still scan the ''/etc/crontab'' file once every minute, although use of this file is highly discouraged and this behaviour can be turned off).
|Related projects=Cron,cronwrap,cronolog
+
 
|Keywords=system administration,scheduling,scheme,cron,crontab,Vixie
+
* Does not consume CPU resources when not needed. Many cron daemons only run jobs once an hour, or even just once a day.
|Version identifier=1.0.1
+
* Can easily allow for finer time-points to be specified, i.e.  seconds.  In principle this could be extended to microseconds, but this is not implemented.
|Version date=2004-05-22
+
* Times can be more or less regular.  For example, a job that runs every 17 hours can be specified, or a job that runs on the first Sunday of every month.
|Version status=stable
+
* Times can be dynamic.  Arbitrary [[Guile]] (scheme) code can be provided to compute the next time that a command needs to be run. This could, for example, take the system load into consideration.
|Version download=ftp://ftp.rdmp.org/mcron-1.0.1.tar.gz
+
* Each user looks after his own files in his own directory.  He can use more than one to break up complicated cron specifications.
|Version comment=1.0.1 stable released 2004-05-22
+
* Each user can run his own daemon. This removes the need for suid programs to manipulate the crontabs, and eliminates many security concerns that surround all existing cron programs.
|Last review by=Janet Casey
+
* The user can obtain an advance schedule of all the jobs that are due to run.
|Last review date=2004-05-24
+
|Homepage URL=https://www.gnu.org/software/mcron/
|Submitted by=Database conversion
+
|Version download=https://ftp.gnu.org/gnu/mcron/mcron-1.2.3.tar.gz
|Submitted date=2011-04-01
 
 
|Is GNU=Yes
 
|Is GNU=Yes
 
|GNU package identifier=mcron
 
|GNU package identifier=mcron
|License verified date=2003-12-12
 
 
}}
 
}}
 
{{Project license
 
{{Project license
|License=GPLv2orlater
+
|License=GPLv3orlater
|License verified by=Janet Casey
+
|License copyright=Copyright © 2003, 2005, 2006, 2012, 2014 Dale Mellor
|License verified date=2003-12-12
+
Copyright © 2018 Mathieu Lirzin
 +
|License verified by=Genium
 +
|License verified date=2020-03-13
 +
|License note=https://git.savannah.gnu.org/cgit/mcron.git/tree/COPYING
 +
}}
 +
{{Software category
 +
|Interface=command-line, daemon
 +
|Programming-language=guile
 +
|Runs-on=BSD, GNU/Linux, GNU/Hurd
 +
}}
 +
{{EntryGNU
 +
|Is GNU=Yes
 +
|GNU package identifier=mcron
 
}}
 
}}
 
{{Person
 
{{Person
|Real name=Dale Mellor
+
|Real name=Adam Bilbrough
 
|Role=Maintainer
 
|Role=Maintainer
|Email=dale@dmellor.dabsol.co.uk
+
|Email=abilbrou@gmail.com
 +
}}
 +
{{Resource
 +
|Resource audience=Savannah
 +
|Resource kind=Developer
 +
|Resource URL=https://savannah.gnu.org/projects/mcron/
 +
}}
 +
{{Resource
 +
|Resource audience=Savannah
 +
|Resource kind=VCS Repository Webview
 +
|Resource URL=https://git.savannah.gnu.org/cgit/mcron.git/
 +
}}
 +
{{Resource
 +
|Resource audience=Savannah
 +
|Resource kind=VCS Repository Webview
 +
|Resource URL=https://git.savannah.gnu.org/gitweb/?p=mcron.git
 +
}}
 +
{{Resource
 +
|Resource kind=Mailing List
 +
|Resource URL=https://lists.gnu.org/mailman/listinfo/help-mcron/
 +
}}
 +
{{Resource
 +
|Resource kind=Mailing List
 +
|Resource URL=https://lists.gnu.org/mailman/listinfo/bug-mcron/
 +
}}
 +
{{Resource
 +
|Resource kind=Mailing List
 +
|Resource URL=https://lists.gnu.org/mailman/listinfo/info-mcron/
 +
}}
 +
{{Resource
 +
|Resource audience=Debian
 +
|Resource kind=Developer
 +
|Resource URL=https://tracker.debian.org/pkg/mcron
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Bug Tracking
+
|Resource kind=Download
|Resource kind=E-mail
+
|Resource URL=https://ftpmirror.gnu.org/mcron/
|Resource URL=mailto:bug-mcron@gnu.org
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Support
+
|Resource kind=Download
|Resource kind=E-mail
+
|Resource URL=https://ftp.gnu.org/gnu/mcron/
|Resource URL=mailto:help-mcron@gnu.org
 
 
}}
 
}}
 
{{Resource
 
{{Resource
|Resource audience=Help
+
|Resource audience=Wikidata
|Resource kind=E-mail
+
|Resource kind=General
|Resource URL=mailto:info-mcron@gnu.org
+
|Resource URL=https://www.wikidata.org/wiki/Q76185633
 
}}
 
}}
{{Software category
+
{{EntryDetails
|Interface=command-line, daemon
+
|Is High Priority Project=No
 +
|VCS checkout command=git clone git://git.savannah.gnu.org/mcron.git
 +
|Decommissioned or Obsolete=No
 +
|Version identifier=1.2.3
 +
|Version date=2023-03-26
 +
|Version status=stable
 +
|Last review by=Genium
 +
|Last review date=2023-03-26
 +
|Accepts cryptocurrency donations=No
 +
|OpenPGP signature=https://ftp.gnu.org/gnu/mcron/mcron-1.2.3.tar.gz.sig
 +
|Test entry=No
 
}}
 
}}
 
{{Featured}}
 
{{Featured}}

Latest revision as of 10:20, 26 March 2023


Overview

GNU mcron

https://www.gnu.org/software/mcron/
Vixie cron replacement.

The mcron program represents a complete re-think of the cron concept originally found in the Berkeley and AT&T unices, and subsequently rationalized by Paul Vixie. The original idea was to have a daemon that wakes up every minute, scans a set of files under a special directory, and determines from those files if any shell commands should be executed in this minute.

It'is a 100% Vixie cron replacement written in pure Guile. As well as accepting traditional crontabs, it also accepts configuration files written in Scheme for infinite flexibility in specifying when jobs should run (it could take the system load into account, for example).

The new idea is to read the required command instructions, work out which command needs to be executed next, and then sleep until the inferred time has arrived. On waking the commands are run, and the time of the next command is computed. Furthermore, the specifications are written in scheme, allowing at the same time simple command execution instructions and very much more flexible ones to be composed than the original Vixie format. This has several useful advantages over the original idea. (Changes to user crontabs are signalled directly to mcron by the crontab program; cron must still scan the /etc/crontab file once every minute, although use of this file is highly discouraged and this behaviour can be turned off).

  • Does not consume CPU resources when not needed. Many cron daemons only run jobs once an hour, or even just once a day.
  • Can easily allow for finer time-points to be specified, i.e. seconds. In principle this could be extended to microseconds, but this is not implemented.
  • Times can be more or less regular. For example, a job that runs every 17 hours can be specified, or a job that runs on the first Sunday of every month.
  • Times can be dynamic. Arbitrary Guile (scheme) code can be provided to compute the next time that a command needs to be run. This could, for example, take the system load into consideration.
  • Each user looks after his own files in his own directory. He can use more than one to break up complicated cron specifications.
  • Each user can run his own daemon. This removes the need for suid programs to manipulate the crontabs, and eliminates many security concerns that surround all existing cron programs.
  • The user can obtain an advance schedule of all the jobs that are due to run.





Details

Licensing

License

Verified by

Verified on

Notes

Verified by

Genium

Verified on

13 March 2020




Leaders and contributors

Contact(s)Role
Adam Bilbrough Maintainer


Resources and communication

AudienceResource typeURI
SavannahVCS Repository Webviewhttps://git.savannah.gnu.org/gitweb/?p=mcron.git
SavannahVCS Repository Webviewhttps://git.savannah.gnu.org/cgit/mcron.git/
WikidataGeneralhttps://www.wikidata.org/wiki/Q76185633
DebianDeveloperhttps://tracker.debian.org/pkg/mcron
SavannahDeveloperhttps://savannah.gnu.org/projects/mcron/
Mailing Listhttps://lists.gnu.org/mailman/listinfo/info-mcron/
Downloadhttps://ftp.gnu.org/gnu/mcron/
Downloadhttps://ftpmirror.gnu.org/mcron/
Mailing Listhttps://lists.gnu.org/mailman/listinfo/bug-mcron/
Mailing Listhttps://lists.gnu.org/mailman/listinfo/help-mcron/


Software prerequisites

About this entry

This entry (in part or in whole) was last reviewed on 26 March 2023.



<headertabs />


Entry








"Savannah" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Savannah" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.


"Savannah" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.








"Debian" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.






"Wikidata" is not in the list (General, Help, Bug Tracking, Support, Developer) of allowed values for the "Resource audience" property.




Property "Submitted by" (as page type) with input value "{{{Submitted by}}}" contains invalid characters or is incomplete and therefore can cause unexpected results during a query or annotation process. "{{{Submitted date}}}" contains an extrinsic dash or other characters that are invalid for a date interpretation.









Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.

The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.