Cron job executing every minute but should be setup to execute every 4 hours

cronscheduled-task

Note: I've viewed cron: can’t lock /var/run/crond.pid, otherpid may be 3759 but I believe my question is different (but with the same resulting problem.)

I'm very new to cron. I setup a script to run a python script every minute to test that everything was working. I did use crontab to accomplish this. It worked great, so I wanted to switch it to run every 4 hour.

I changed my * * * * * {...} to * */4 * * * {...} but the job is continues to run every minute. It's been like this for the last hour or so.

When I attempt to run cron restart (thinking that would solve the problem), I receive the following error message:

cron: can't lock /var/run/crond.pid, otherpid may be 2311: Resource temporarily unavailable

Is my cron syntax wrong? And why might I not be able to restart cron?

Best Answer

Your syntax should be

0 */4 * * * <command>

A * in the minute field causes it to run every minute, as you're experiencing. A zero will cause it to run at 0 minutes past the hour, every 4 hours.

Not sure why you can't restart cron; perhaps your cron job is DoS'ing your machine.

Related Topic