1

Wikipedia says

With the advent of the GNU Project and Linux, new crons appeared. The most prevalent of these is the Vixie cron, originally coded by Paul Vixie in 1987. Version 3 of Vixie cron was released in late 1993. Version 4.1 was renamed to ISC Cron and was released in January 2004. Version 3, with some minor bugfixes, is used in most distributions of Linux and BSDs.

In 2007, Red Hat forked vixie-cron 4.1 to the cronie project and included anacron 2.3 in 2009.

Other popular implementations include anacron and dcron. However, anacron is not an independent cron program. Another cron job must call it. dcron was made by DragonFly BSD founder Matt Dillon, and its maintainership was taken over by Jim Pryor in 2010.[9]

A webcron solution schedules ring tasks to run on a regular basis wherever cron implementations are not available in a web hosting environment.

On Lubuntu 18.04, I try to figure out what my cron implementation is, like for any other software installed, but fail:

$ cron --version
cron: invalid option -- '-'
usage: cron
$ crontab --version
crontab: invalid option -- '-'

I seldom have difficulty in finding out the version of a installed program, and wonder why it is hard for me? How shall I find it out?

Thanks.

4

Try man cron. It identifies my system's (Ubuntu 18.04) cron as Vixie Cron.

  • Thanks. I remember commands and manpages can be out of sync, when having installed different implementations or versions of some software – Tim Oct 30 '18 at 23:22
  • No worries. You would hope that different implementations etc would install own man pages hey? In an ideal world... – Jacob Degeling Oct 30 '18 at 23:25
3

In the case of Ubuntu, it would be best to look up which package provides the crontab command, and not the cron command, which might not even exist. The default is provided by the cron package (Vixie cron), but at least two other alternatives are also present:

~ aptitude search '~Pcron'
p   bcron-run     - Bruce's cron system
i   cron          - process scheduling daemon
p   cron:i386     - process scheduling daemon
p   systemd-cron  - systemd units to provide cron daemon & anacron functionality

Nether bcron nor systemd-cron provide a /usr/sbin/cron binary (bcron commands all start with bcron), but both provide the crontab command and an /etc/crontab file.

  • 1
    The Debian GNU/Linux version of cron is a 1994 fork, called that by Ian Jackson. news.ycombinator.com/item?id=17005677 Debian also aliases Bruce Guenter's softwares, which do not originally provide a crontab command but rather provide a bcrontab command. – JdeBP Oct 31 '18 at 8:48
1

You can always use the search function at packages.ubuntu.com where you can find the current version for your release (though your local system might lag behind if you haven't been applying updates). That usually includes a link to the upstream package.

To find out which package, you might dpkg --search /usr/sbin/cron (or wherever type cron points you for the binary).

In the case of cron, you get pointed to ISC's website.

If you want to investigate the source directly, you could also apt-get source cron to fetch the source code used to build cron for your system.

1

There's no one solution that works everywhere for every package.

For Ubuntu 18.04 you can use their web site:

https://packages.ubuntu.com/bionic/cron

This has a link to a copyright file which shows it is Vixie cron.

You can also check the binary:

% strings /usr/sbin/cron | grep Vix 
@(#) Copyright 1988,1989,1990,1993,1994 by Paul Vixie

On RedHat 7 and derivates, a strings on the binary shows it was ISC

% strings /usr/sbin/crond | grep Cron | head -1
@(#) ISC Cron V4.1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.