crontab(1) on Solnix vs Linux and the BSDs
On Solnix, crontab is the illumos /usr/bin/crontab. Unlike Linux, FreeBSD and NetBSD, its page documents reading a crontab from standard input when no file is given, with no '-' argument. It also takes a positional username after -e, -l and -r, and the page documents no -i, -f or -T.
The manual pages
- Solnix: crontab(1) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: crontab(1) cronie-1.7.2
- FreeBSD: crontab(1) 15.1-RELEASE
- OpenBSD: crontab(1) 8.0
- NetBSD: crontab(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
crontab
What Solnix runs
A default Solnix system runs the illumos /usr/bin/crontab. /usr/xpg4/bin/crontab and /usr/xpg6/bin/crontab are also shipped. Their synopses omit -u in the install form (only [filename]) but keep -u username with -e, -l and -r. The visible page text does not describe any other difference between the variants.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux, FreeBSD, NetBSD | installing from standard input | Solnix crontab with no options copies the named file, or standard input if no file is given. Linux, FreeBSD and NetBSD require the argument - to read standard input. The Solnix page does not mention a - argument. Source: Solnix crontab(1) DESCRIPTION; Linux crontab(1) STANDARDS; FreeBSD crontab(1) STANDARDS; NetBSD crontab(1) STANDARDS |
| OpenBSD | installing from standard input | OpenBSD documents the pseudo-filename - for standard input. Solnix documents standard input as the default when no file is given, and does not mention -. Source: OpenBSD crontab(1) DESCRIPTION; Solnix crontab(1) DESCRIPTION |
| all four | username as a positional argument | Solnix accepts a username after -e, -l or -r (crontab -l username) as well as -u username. The Linux and BSD pages document only -u user. Naming another user needs root or the solaris.jobs.admin authorization on Solnix.Source: Solnix crontab(1) SYNOPSIS, -e, -l, -r, -u; Linux/FreeBSD/OpenBSD/NetBSD crontab(1) SYNOPSIS |
| all four | access control file locations | Solnix reads /etc/cron.d/cron.allow and /etc/cron.d/cron.deny. OpenBSD uses /var/cron/cron.allow and cron.deny. NetBSD uses /var/cron/allow and /var/cron/deny. Linux and FreeBSD name the files without a path.Source: Solnix crontab(1) crontab Access Control; OpenBSD crontab(1) DESCRIPTION; NetBSD crontab(1) DESCRIPTION; Linux crontab(1) DESCRIPTION; FreeBSD crontab(1) DESCRIPTION |
| all four | access when neither allow nor deny file exists | Solnix: only a user with the solaris.jobs.user authorization may submit a job. Linux and OpenBSD: only the super user. FreeBSD: depends on site configuration. NetBSD: everyone is allowed. Solnix applies allow/deny to root only if the files exist. Source: Solnix crontab(1) crontab Access Control; Linux crontab(1) DESCRIPTION; OpenBSD crontab(1) DESCRIPTION; FreeBSD crontab(1) DESCRIPTION; NetBSD crontab(1) DESCRIPTION |
| Linux, FreeBSD | confirming -r | Linux -r with -i prompts for y/Y before removing. FreeBSD -r prompts by default, and -f skips the prompt. The Solnix page documents neither -i nor -f; its -r removes the crontab.Source: Linux crontab(1) -i; FreeBSD crontab(1) -r, -f; Solnix crontab(1) -r |
| all four | editor variables for -e | Solnix -e names only EDITOR. Linux, FreeBSD, OpenBSD and NetBSD name VISUAL or EDITOR. OpenBSD says VISUAL wins and the default is vi(1). The Solnix text shown does not say what happens when EDITOR is unset.Source: Solnix crontab(1) -e; Linux crontab(1) -e; FreeBSD crontab(1) -e; OpenBSD crontab(1) ENVIRONMENT; NetBSD crontab(1) -e |
| all four | emptied file after -e | On Solnix, if all lines are deleted in -e, the old crontab is restored; remove the crontab with -r instead. The other pages do not document this. FreeBSD says the editor must edit the file in place.Source: Solnix crontab(1) -e; FreeBSD crontab(1) -e |
| Linux | Linux-only options | Linux has -T (syntax check without installing), -V, -s (SELinux MLS_LEVEL), and -n and -c (cluster host). It also backs up the old crontab under XDG_CACHE_HOME and colours terminal listings unless NO_COLOR is set. The Solnix page documents none of these.Source: Linux crontab(1) SYNOPSIS, -T, -V, -s, -n, -c, DESCRIPTION; Solnix crontab(1) OPTIONS |
| all four | variable lines inside the crontab | The Solnix page documents HOME, SHELL, TZ and RANDOM_DELAY lines in a crontab. Each applies to later entries. The default PATH is /usr/bin for users and /usr/sbin:/usr/bin for root, and /etc/default/cron can change it. The other crontab(1) pages do not describe these.Source: Solnix crontab(1) crontab Environment Variables, crontab Entry Format; Linux/FreeBSD/OpenBSD/NetBSD crontab(1) (not described) |
| all four | where crontabs are stored | Linux says the files are under /var/spool/. FreeBSD and OpenBSD say /var/cron/tabs. NetBSD says /var/cron. The visible Solnix text names no directory, only a directory holding all users' crontabs.Source: Linux crontab(1) DESCRIPTION; FreeBSD crontab(1) DESCRIPTION; OpenBSD crontab(1) DESCRIPTION; NetBSD crontab(1) DESCRIPTION; Solnix crontab(1) DESCRIPTION |
| NetBSD | maximum crontab size | NetBSD limits a crontab to 256 kilobytes by default, changeable in /var/cron/maxtabsize. The Solnix page does not document a size limit.Source: NetBSD crontab(1) DESCRIPTION; Solnix crontab(1) DESCRIPTION |
Standards
- POSIX: crontab is a POSIX.1-2024 utility.
- Linux: Conforms to IEEE Std1003.2-1992 (``POSIX'') with one exception: the - must be given on the command line to replace the crontab from standard input if standard input is a TTY.
- FreeBSD: Conforms to IEEE Std 1003.2 (“POSIX.2”), except that calling crontab without a file name in the first form is not allowed; - must be given to read standard input.
- OpenBSD: Compliant with IEEE Std 1003.1-2008 (“POSIX.1”).
-uis an extension,-eis marked optional, and the cron.allow/deny mechanism is marked as an X/Open System Interfaces option. - NetBSD: Conforms to IEEE Std 1003.2 (“POSIX.2”), except that - is required as the file to replace the crontab from standard input.
Writing portable scripts
- Pass an explicit file name to install a crontab. Do not rely on bare standard input (Solnix) or on - (the Linux, FreeBSD and NetBSD pages), which the Solnix page does not document.
- Use crontab
-uuser-l,-eor-rfor another user, since-uis the only user-selection form that all five pages document. Do not use-i,-f,-Tor the positional username.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.