cron(8) on Solnix vs Linux and the BSDs

On Solnix, cron is the illumos daemon at /usr/sbin/cron, run as the SMF service svc:/system/cron:default. It takes no options at all, unlike Linux, FreeBSD, OpenBSD and NetBSD, and it reads its settings from /etc/default/cron.

What Solnix runs

A default Solnix system runs the illumos cron at /usr/sbin/cron. No other variants are shipped. The page documents no command-line options. Manage the service with svcadm(8) and query it with svcs(1).

Differences

Compared withTopicWhat differs
all fourcommand-line optionsThe Solnix synopsis is just /usr/sbin/cron with no options. Linux crond has -c -h -i -m -n -p -P -s -x -V, FreeBSD has -j -J -m -n -o -s -x, OpenBSD has -n and -l, and NetBSD has -n and -x.
Source: Solnix cron(8) SYNOPSIS; Linux cron(8) SYNOPSIS, OPTIONS; FreeBSD cron(8) SYNOPSIS; OpenBSD cron(8) SYNOPSIS; NetBSD cron(8) SYNOPSIS
all fourforeground modeThe Solnix page documents no foreground flag. The other systems have -n to stay in the foreground, and Linux also accepts -f. The Solnix page says cron is normally run through the SMF service and guarded by a lock file.
Source: Solnix cron(8) DESCRIPTION; Linux cron(8) -n, -f; FreeBSD cron(8) -n; OpenBSD cron(8) -n; NetBSD cron(8) -n
all fourservice modelSolnix runs cron as svc:/system/cron:default, managed with svcadm(8) and svcs(1). Linux uses sysvinit scripts or crond.service via systemctl. FreeBSD starts it from /etc/rc or /etc/rc.local, OpenBSD from /etc/rc, and NetBSD through rc.d(8) when enabled in rc.conf(5).
Source: Solnix cron(8) NOTES; Linux cron(8) DESCRIPTION; FreeBSD cron(8) DESCRIPTION; OpenBSD cron(8) DESCRIPTION; NetBSD cron(8) DESCRIPTION
all fourcrontab spool locationSolnix keeps crontabs in /var/spool/cron/crontabs. Linux uses /var/spool/cron. FreeBSD, OpenBSD and NetBSD use /var/cron/tabs.
Source: Solnix cron(8) DESCRIPTION; Linux cron(8) DESCRIPTION; FreeBSD cron(8) DESCRIPTION; OpenBSD cron(8) DESCRIPTION; NetBSD cron(8) DESCRIPTION
Linux, FreeBSD, NetBSDsystem crontab and cron.dThe Solnix page mentions neither /etc/crontab nor /etc/cron.d crontabs; /etc/cron.d/FIFO is only a lock file. Linux, FreeBSD and NetBSD read /etc/crontab and files in /etc/cron.d. OpenBSD reads /etc/crontab.
Source: Solnix cron(8) DESCRIPTION; Linux cron(8) DESCRIPTION; FreeBSD cron(8) DESCRIPTION; NetBSD cron(8) DESCRIPTION; OpenBSD cron(8) DESCRIPTION
all fourwhen changes are noticedSolnix cron reads crontab and at files only at start-up and when crontab or at is run, with no periodic check. The other systems check modification times every minute (Linux can use inotify) and reload changed files.
Source: Solnix cron(8) DESCRIPTION; Linux cron(8) DESCRIPTION; FreeBSD cron(8) DESCRIPTION; OpenBSD cron(8) DESCRIPTION; NetBSD cron(8) DESCRIPTION
all fourconfiguration and loggingSolnix reads /etc/default/cron: CRONLOG=YES turns on the action log, PATH= sets the PATH for user jobs and SUPATH= for root jobs. Logging is off unless enabled, and logadm(8) rotates the log. The other pages show no such file. NetBSD logs START and FINISH to /var/log/cron.
Source: Solnix cron(8) Setting cron Defaults; NetBSD cron(8) DESCRIPTION; Linux cron(8) OPTIONS -P
all fourdaylight saving handlingSolnix says jobs scheduled in a switchover period could run once, twice or not at all, and has no option to change this. The other pages describe special handling for time changes under three hours. FreeBSD makes it optional with -s and -o.
Source: Solnix cron(8) Setting cron Jobs Across Timezones; Linux cron(8) Daylight Saving Time; FreeBSD cron(8) -s, -o; OpenBSD cron(8) Daylight Saving Time; NetBSD cron(8) Daylight Saving Time
all fourlocked accountsSolnix does not run cron or at jobs for locked accounts, as defined by shadow(5). FreeBSD checks account status with pam(3) for per-account crontabs, and /etc/crontab bypasses the check. The other pages do not describe a lock check.
Source: Solnix cron(8) DESCRIPTION; FreeBSD cron(8) DESCRIPTION
all fourtimezone sourceThe Solnix cron daemon's timezone is set by default from /etc/default/init, and a user's crontab can override it; see crontab(1). Linux also allows per-crontab zones, via crontab(5).
Source: Solnix cron(8) Setting cron Jobs Across Timezones; Linux cron(8) Daylight Saving Time
Linux, FreeBSDjob outputSolnix mails non-empty stdout and stderr to the user and sends no mail for empty output, except for at jobs submitted with -m. Linux has -s for syslog and -m to change the mail command. FreeBSD has -m for the default recipient. Solnix has no such options.
Source: Solnix cron(8) DESCRIPTION; Linux cron(8) -s, -m; FreeBSD cron(8) -m
all fourdelegationSolnix lets users with the solaris.smf.manage.cron authorization perform most administrative actions on the service. The other pages describe no such delegation.
Source: Solnix cron(8) NOTES; Linux, FreeBSD, OpenBSD and NetBSD cron(8) pages

Standards

  • POSIX: cron is not a POSIX.1-2024 utility.

Writing portable scripts

  • Do not start cron with flags in portable scripts. Solnix documents none, and -n, -x and -s differ across the other systems.
  • Do not hard-code the crontab spool path. It is /var/spool/cron/crontabs on Solnix, /var/spool/cron on Linux and /var/cron/tabs on the BSDs.

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.