Cron is a clock daemon which allows you to start a job at specified date (and/or time) or every specified time period.

Firstly you need to install a package, do it as root:

root@dilos:~# apt-get update && apt-get install cron


After it the package should be installed in your system, let check it:

root@dilos:~# dpkg -l cron
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                          Version             Architecture        Description
+++-=============================-===================-===================-===============================================================
ii  cron                          3.0pl1-128-5        solaris-i386        process scheduling daemon


The output means that the package has been installed.

To know what our daemon does (run the jobs) we need to add one line into the syslog configuration.

Open /etc/syslog.conf in your favorite text editor and add the line (as root):

cron.info   /var/adm/messages

You can write it into a separated file, for example, cron.log.

After you changed syslog.conf you need to reconfigure syslog daemon (as root):

root@dilos:~# svcadm refresh system-log

Refresh method sends a HUP signal to the syslogd and the daemon will reread its configuration file.


Now we need to enable the service (as root):

root@dilos:~# svcadm enable cron


Let check the status of the service:

root@dilos:~# svcs cron
STATE          STIME    FMRI
online         10:09:20 svc:/system/cron:default

The state must be online, this means that the service works now.

From time to time you need to debug some jobs that cron runs, to increase a log level of the cron daemon you need to change service info (by default log level is 1).

To change this value run (as root):

root@dilos:~# svccfg -s cron setprop application/log_level = astring: 15

To be sure the value changed you can test it:

root@dilos:~# svcprop -p application/log_level cron
15

Don't forget to refresh the service after changes (as root):

root@dilos:~# svccfg -s svc:/system/cron:default refresh
root@dilos:~# svcadm refresh cron

And now you can restart the daemon (as root):

root@dilos:~# svcadm disable cron
root@dilos:~# svcadm enable cron


Always check the result of this operation, otherwise your service may be unavailable.


root@dilos:~# svcs -xv
root@dilos:~# ps -ef|grep cron
    root  4574     1   0 19:37:39 ?           0:00 /usr/sbin/cron -L 15
    root  4577  4556   0 19:37:47 pts/1       0:00 grep cron

Well, done...

  • 1 job start
  • 2 job end
  • 4 job failed
  • 8 job pid

You can combine this codes by OR (or +), in our example we set all of them (1 + 2 + 4 + 8 = 15)