I have a cron job that i want to run every second minute of every hour.before i would just run it every minute like
* * * * * /var/www/html/cron.php
but i now need it to run every second minute of ever hour. How can this be done?.
If your operating system is FreeBSD you could use the @every_second
for example:
@every_second /var/www/html/cron.php
For other systems, this could work:
Somethinig every hour:
@hourly /var/www/html/cron.php
Or every 45 minutes:
*/45 * * * * /var/www/html/cron.php
From man 5 crontab:
string meaning
------ -------
@reboot Run once, at startup of cron.
@yearly Run once a year, "0 0 1 1 *".
@annually (same as @yearly)
@monthly Run once a month, "0 0 1 * *".
@weekly Run once a week, "0 0 * * 0".
@daily Run once a day, "0 0 * * *".
@midnight (same as @daily)
@hourly Run once an hour, "0 * * * *".
@every_minute Run once a minute, "*/1 * * * *".
@every_second Run once a second.
Also, check this a reference: https://crontab.guru/
In case the system you are using doesn't support the @every_second
you could give a try to something like:
* * * * * /var/www/html/cron.php
* * * * * (sleep 30; /var/www/html/cron.php)
Basically, they run at the same time (every minute) but one will wait for 30 seconds before starting, so /var/www/html/cron.php
will be called every 30 seconds.