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.
The manual pages
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 with | Topic | What differs |
|---|---|---|
| all four | command-line options | The 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 four | foreground mode | The 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 four | service model | Solnix 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 four | crontab spool location | Solnix 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, NetBSD | system crontab and cron.d | The 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 four | when changes are noticed | Solnix 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 four | configuration and logging | Solnix 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 four | daylight saving handling | Solnix 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 four | locked accounts | Solnix 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 four | timezone source | The 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, FreeBSD | job output | Solnix 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 four | delegation | Solnix 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,-xand-sdiffer across the other systems. - Do not hard-code the crontab spool path. It is
/var/spool/cron/crontabson Solnix,/var/spool/cronon Linux and/var/cron/tabson 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.