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.

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 withTopicWhat differs
Linux, FreeBSD, NetBSDinstalling from standard inputSolnix 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
OpenBSDinstalling from standard inputOpenBSD 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 fourusername as a positional argumentSolnix 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 fouraccess control file locationsSolnix 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 fouraccess when neither allow nor deny file existsSolnix: 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, FreeBSDconfirming -rLinux -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 foureditor variables for -eSolnix -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 fouremptied file after -eOn 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
LinuxLinux-only optionsLinux 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 fourvariable lines inside the crontabThe 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 fourwhere crontabs are storedLinux 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
NetBSDmaximum crontab sizeNetBSD 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”). -u is an extension, -e is 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 -u user -l, -e or -r for another user, since -u is the only user-selection form that all five pages document. Do not use -i, -f, -T or 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.