您的位置:

Cron表达式每秒执行一次详解

一、cron表达式每秒执行一次怎么写

要让cron表达式每秒执行一次,我们需要在秒钟这一位填写 * (代表任意秒),在其它位(分、时、日、月、周)用通配符(*)表示任意时间:

* * * * * *

该表达式代表每秒钟都执行一次,相当于每分钟执行60次。

下面是PHP代码示例:

$cron = '* * * * * *';
system("crontab -r");
system("(echo '$cron php /path/to/my/script.php') | crontab -");

二、cron表达式每30秒执行一次

需要让cron表达式每30秒钟执行一次,我们可以把秒钟填写为0,30(代表0秒和30秒),其它位用通配符表示:

* * * * * */30

该表达式代表每30秒钟都执行一次。

下面是Java代码示例:

ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
scheduledExecutorService.scheduleAtFixedRate(() -> {
    // do something
}, 0, 30, TimeUnit.SECONDS);

三、cron表达式每隔5秒执行一次

要让cron表达式每隔5秒钟执行一次,我们需要把秒钟填写为 */5(代表每5秒),其它位用通配符表示:

* * * * * */5

该表达式代表每隔5秒钟执行一次。

下面是Python代码示例:

import time
while True:
    # do something
    time.sleep(5)

四、cron表达式每分钟一次

要让cron表达式每分钟执行一次,我们只需要把秒钟填写为0,而其它位用通配符表示:

* * * * *

该表达式代表每分钟执行一次。

下面是Ruby代码示例:

require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
scheduler.every '1m' do
  # do something
end

五、cron表达式每天一次

要让cron表达式每天执行一次,我们需要把日、时、分、秒分别填写为具体的数,其它位用通配符表示:

0 0 * * *

该表达式代表每天凌晨0点执行。

下面是Shell脚本代码示例:

#!/bin/sh
while true
do
  # do something
  sleep 24h
done

六、cron每5分钟执行一次

要让cron表达式每5分钟执行一次,我们需要在分钟这一位填写 */5(代表每5分钟),其它位用通配符表示:

* */5 * * *

该表达式代表每隔5分钟执行一次。

下面是Go代码示例:

package main
import "time"
func main() {
    for {
        // do something
        time.Sleep(5 * time.Minute)
    }
}

七、cron表达式每3秒执行一次

要让cron表达式每3秒钟执行一次,我们需要把秒钟填写为0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57(代表上述秒数),而其它位用通配符表示:

* * * * * 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57

该表达式代表每3秒钟都执行一次。

下面是Node.js代码示例:

setInterval(() => {
  // do something
}, 3000);

八、cron表达式每天8点执行

要让cron表达式每天8点执行,我们需要在小时这一位填写8,其它位用通配符表示:

0 8 * * *

该表达式代表每天8点执行。

下面是Perl代码示例:

use Time::HiRes qw/usleep/;
while (1) {
    # do something
    usleep(60 * 60 * 8 * 1000000); # sleep for 8 hours
}

九、cron表达式每天凌晨0点执行一次

要让cron表达式每天凌晨0点执行一次,我们需要在小时和分钟分别填写0,而其它位用通配符表示:

0 0 * * *

该表达式代表每天凌晨0点执行一次。

下面是Bash脚本代码示例:

#!/bin/bash
while true
do
  # do something
  sleep $((24*60*60))
done