For some testing, I need to reboot my system every minute. I have a busybox based system, installed cron using opkg. I setup a cron job using crontab, everything looks ok:
root@SL1000-1103DC:~# crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.1962 installed on Tue Jun 16 14:57:01 2015)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
* * * * * /sbin/reboot
root@SL1000-1103DC:~#
But the command is never run after the system boots? However, if I restart cron, then everything works:
root@SL1000-1103DC:~# /etc/init.d/cron restart
Stopping Vixie-cron.
Starting Vixie-cron.
root@SL1000-1103DC:~# date
Tue Jun 16 14:58:18 EDT 2015
root@SL1000-1103DC:~#
Broadcast message from root (Tue Jun 16 14:59:00 2015):
The system is going down for reboot NOW!
INIT: Switching to runlevel: 6
So is there something different about running cron at startup, versus running from a command line? Maybe some subtle permissions issue? All of this is done at root level. Hmmm....
Edit: More info - looks like the unit is rebooting at odd times, as if cron was confused about the time? I left it alone, and it rebooted several times. Last time I had tail on /var/log/messages, and I see a message from cron issuing the command. So now the question is - why is cron confused about the time?
root@SL1000-1103DC:~# ps | grep cron 1245 root 1800 R /usr/sbin/cron 1962 root 2892 S grep cron
Also I see it in the startup log