每小时的每一秒运行一次 cron 作业

问题描述 投票:0回答:4

我有一个 cron 作业,我想每小时运行一次。之前我会每分钟运行一次,就像

* * * * * /var/www/html/cron.php

但我现在需要它每小时运行一次。这怎么办?.

cron
4个回答
0
投票

如果您的操作系统是 FreeBSD,您可以使用

@every_second
例如:

@every_second  /var/www/html/cron.php

对于其他系统,这可能有效:

每小时都有事:

@hourly /var/www/html/cron.php

或每 45 分钟一次:

*/45 * * * * /var/www/html/cron.php

来自 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.

另外,请检查参考:https://crontab.guru/

如果您使用的系统不支持

@every_second
,您可以尝试以下操作:

* * * * * /var/www/html/cron.php
* * * * * (sleep 30; /var/www/html/cron.php)

基本上,它们同时运行(每分钟),但在开始之前会等待 30 秒,因此每 30 秒就会调用

/var/www/html/cron.php


0
投票

crontab 的格式如下

m h  dom mon dow   command

所以你可以做

0 * * * yourcommand

每小时 00 分运行


0
投票

对我来说,唯一可行的解决方案是:

2-59/* * * * *

翻译成简单的英语为:

从 2 点到 59 点,每 60 分钟一趟。

我几乎不了解 cron 语法,所以不确定这是否是唯一的方法,或者至少是更好的方法之一。


0
投票

下面的代码对我有用。

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:        20.04
Codename:       focal




* * * * * while : ; do sleep 1 ;  php /var/www/html/code.php || break ; done

对我帮助很大。

© www.soinside.com 2019 - 2024. All rights reserved.