Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

If you want to know why mcron as opposed to cron, you only need to look at the introduction: https://www.gnu.org/software/mcron/manual/html_node/Introduc...


sort by: page size:

From the project documentation [0]:

> The mcron program represents a complete re-think of the cron concept originally found in the Berkeley and AT&T unices

"Unices" as in the plural of "Unix"? I've never heard that before, but that's amazing.

[0] https://www.gnu.org/software/mcron/manual/mcron.html


I read that, but to the end user, that's not really a plus if the "old" syntax works the same.

How does mcron's working differ from cron's ? That's what should be on the front page, not the language its written in.


Some of Mcron's innovations[1]:

> 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.

> 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.

> Vixie cron is implemented in 4500 lines of C code; mcron is 1500 lines of scheme, despite the fact that it offers many more features and much more flexibility, and complete compatibility with Vixie cron.

[1] https://www.gnu.org/software/mcron/design.html


This is a nice misrepresentation. Your Vixie cron example offloads the day of week check to `date`. I'm sure there are examples where mcron syntax is superior to anacron as well.

I didn't know about mcron until this post either, but I find it super frustrating when people dismiss tools, ideas, or people simply because they don't conform to familiar patterns.


This is awesome! I have really been impressed with gnu's use of guile, and I really like how much more quickly iteration is than many other gnu projects. For those heavy cron users, mcron (guile based cron replacement) has been my favorite so far.

With a good deamon manager, we're one step closer to HURD!


And exacly why is that better than cron?

Why not use Cron?

Then it's the wrong comparison, because cron simply schedules other commands, it's not a programming language.

I don't really understand. What could I do with this that I couldn't do with cron? Or is it that somebody who can't use cron could use this? Or that this is more reliable than cron?

Sure but there are tons of simple cron alternatives with better syntax that don't need systemd (such as fcron). In fact, Mcron from the OP can be configured using Scheme.

The cron syntax is used by a bunch of other things as well, e.g k8s cronjobs so sites like this are still useful even if you aren't using a traditional cron

So, if not cron, what is better?

Having it running in source control and on someone else's computer is a moderate advantage over regular cron.

> It is hugely more convenient and usable than cron. Once you have it, you immediately spot lots of opportunities to factor systems into scheduled jobs that you might have avoided doing if it meant you had to deal with cron.

That's actually pretty interesting. Can you give a few examples that fall out of having a more fine grained (millisecond) resolution?


I think you should check out mcron, which is basically cron redone but in GNU guile (scheme) with more features. I think it fails some of your requirements (the syntax can be a bit more to wrap ones head around than standard cron), but it is powerful and seems promising.

https://www.gnu.org/software/mcron/manual/mcron.html#Introdu...


What does Cron bring?

Their website[1] shows something that looks nearly identical to the MacOS default calendar app (edit: which is a good design to take inspiration from) but no list of features or much else of substance.

Edit: Their docs[2] contain some more info

1: https://cron.com/

2: https://cron.com/docs


I think you are just more used to creating a VM and running crons from there. The other alternatives aren't necessarily time consuming, you just aren't used to them

Not having cron is a deal breaker. Cygwin is still better in that aspect.

Not sure what the OP intended as the context around this submission, but here's some more info:

Latest version 1.1.1 released 2018-04-08 [1][2]. Previous version was 1.1 on 2018-03-19, and the one before that dates to 2010-06-13 [2].

This is a job scheduler compatible with vixie-cron [3], but written in Guile Scheme. Entries in a crontab file can be the traditional format, or snippets of Guile. There's a whitepaper from 2003 [4] and up-to-date documentation [5] that explain the rationale and usage.

[1] http://lists.gnu.org/archive/html/info-gnu/2018-04/msg00004.... [2] http://savannah.gnu.org/projects/mcron/ [3] https://directory.fsf.org/wiki/Vixie-cron [4] https://www.gnu.org/software/mcron/design.html [5] https://www.gnu.org/software/mcron/manual/mcron.html

next

Legal | privacy