User Tools

Site Tools


troubleshooting:cronstoppedworkingonmacbook

This is an old revision of the document!


why is cron no longer working on my macbook?

troubleshooting process

If the cron service on your MacBook has stopped working, here are some steps you can take to troubleshoot the issue:

  • Check the status of the cron service: Use the ps command to check if the cron service is running. Type ps aux | grep cron in the terminal to see if the cron service is currently running. If it's not running, you may need to start it manually.
  • Check the cron logs: The cron service logs its activities to a file. To view the cron logs, type tail -f /var/log/system.log in the terminal. This will show you the last few lines of the system log in real-time. Look for any messages related to cron, such as errors or warnings.
  • Check the crontab file: The crontab file is a configuration file that tells the cron service what jobs to run and when. Type crontab -l in the terminal to view the contents of your crontab file. Make sure that the syntax of your cron job entries is correct, and that they are scheduled to run at the correct times.
  • Check the permissions of the cron files: Make sure that the cron files have the correct permissions. Type ls -l /usr/sbin/cron in the terminal to view the permissions of the cron binary. It should have the permissions -rwxr-xr-x (read, write, execute for the owner; read and execute for group and others). Similarly, check the permissions of the crontab files by typing ls -l /usr/lib/cron/tabs.
  • Restart the cron service: If none of the above steps resolve the issue,
    you may need to restart the cron service. Type sudo launchctl unload /System/Library/LaunchDaemons/com.vix.cron.plist to stop the cron service, and then type sudo launchctl load /System/Library/LaunchDaemons/com.vix.cron.plist to start it again.

is the process running?

yes, as expected once for root, and once for the local user:

$ ps aux | grep cron
root               457   0.0  0.0 408113488   1056   ??  Ss   Tue06PM   0:00.51 /usr/sbin/cron
kamaradski       37314   0.0  0.0 408628368   1632 s013  S+    5:17PM   0:00.00 grep cron

do we have anything in the logs?

no:

$ cat /var/log/system.log | grep "cron"

However, this is not a good thing as i would expect also a note when crons are getting executed successfully

do we have valid crons?

$ crontab -l
0 6 * * * cd /Users/kamaradski/00-automation/script1 && go run main.go
5 6 * * * cd /Users/kamaradski/00-automation/script2 && go run main.go

Can we run the command from our current user? ⇒ yes:

$ cd /Users/kamaradski/00-automation/script1 && go run main.go
12345689%                                                                                                                                                                               

Hmm just to be sure let me point it to the exact go bin that we want to use, who knows?

$ which go
/opt/homebrew/bin/go
 
$ crontab -e
crontab: installing new crontab
 
$ crontab -l
0 6 * * * cd /Users/kamaradski/00-automation/script1 && /opt/homebrew/bin/go run main.go
5 6 * * * cd /Users/kamaradski/00-automation/script2 && /opt/homebrew/bin/go run main.go

Let's see tomorrow if this has fixed the issue or not.

have a look at the file permissions

By default, the /usr/lib/cron/tabs/ directory should have a file mode of 755 and an owner of root. The files in the directory should have a file mode of 644 and an owner of root. This means that only the root user can modify the files, but any user on the system can view the contents of the files.
$ ls -l /usr/sbin/cron
-rwxr-xr-x 1 root wheel 205440 Jan 11 08:03 /usr/sbin/cron
 
sudo ls -l /usr/lib/cron/tabs
Password:
total 8
-rw-------@ 1 root  wheel  420 Feb 25 17:40 kamaradski

I think this is fine, but lets see. if the above listed fix does not fix the issue i'm facing, i will edit this file to 644 and try again.

troubleshooting/cronstoppedworkingonmacbook.1677344695.txt.gz · Last modified: 2023/02/25 17:04 by kamaradski