🔠Want to get alerted when your Cron doesn’t run correctly?
Go to Better Stack and start monitoring in 5 minutes.
By default, cron checks crontabs for cronjobs every minute. If you want to run a job every n seconds you need to use a simple workaround.
Go to Better Stack and start monitoring in 5 minutes.
The easiest way to run a job every n seconds is to run a job every minute and, and sleep in a loop in n second intervals.
i=0
while [ $i -lt 12 ]; do # 12 five-second intervals in 1 minute
command/to/run & #run your command
sleep 5
i=$(( i + 1 ))
done
* * * * * script.sh
i=0
while [ $i -lt 6 ]; do # 6 ten-second intervals in 1 minute
command/to/run & #run your command
sleep 10
i=$(( i + 1 ))
done
* * * * * script.sh
i=0
while [ $i -lt 4 ]; do # 4 ten-second intervals in 1 minute
command/to/run & #run your command
sleep 15
i=$(( i + 1 ))
done
* * * * * script.sh
i=0
while [ $i -lt 2 ]; do # 2 ten-second intervals in 1 minute
command/to/run & #run your command
sleep 30
i=$(( i + 1 ))
done
* * * * * script.sh
* * * * * script.sh
* * * * * sleep 30 ; script.sh
One of the neat features of Cron is the ability to send emails when an error occurs during the execution of the cronjob. This can be done using the `MAILTO` environmental variable. When executing cronjob, any output is mailed to the owner of the crontab or to the user or email address specified in the `MAILTO` environment variable in the crontab, if such exists.
Sometimes you may find that duplicate cronjobs are running at the same time. This may happen when the cronjob takes longer to complete than its execution interval. Here is a simple way to prevent this from happening ever again.
In this quick tutorial, we will take a look at how to set up a cron job to run at a specific time.
Cron can generate logs, which are very useful in troubleshooting your cron jobs. In this quick tutorial, we will take a look at cron logs – how to find them and how to read them.