帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何在Linux服务器中每30秒运行一次Cron作业

如何在Linux服务器中每30秒运行一次Cron作业

发布时间:2022年12月19日 11:07:50    来源: A5互联

您是cron 作业调度程序的新手并且想每 30 秒运行一次作业吗?不幸的是,cron 不允许这样做。您不能安排 cron 作业每x秒运行一次。Cron只支持至少60秒(即 1 分钟)的时间间隔。要每 30 秒运行一次 cron 作业,您需要使用我们在下面解释的技巧。

在本指南中,我们还将介绍许多其他示例来运行作业或命令,或每 x 秒运行一次脚本。但让我们首先介绍如何在 Linux 中每 30 秒运行一次 cron 作业。

在 Linux 中每 30 秒运行一次 Cron 作业

要完成上述任务,请在 crontab 中创建两个条目。第一个作业将在每分钟(60 秒)后运行date 命令,然后第二个条目使用sleep 命令延迟指定的时间(在本例中为 30 秒)并再次调用date命令。

您需要在crontab(cron 表)中添加以下条目,并使用以下crontab命令打开它进行编辑(该-e标志允许编辑):

# crontab -e

将以下 cron 条目添加到文件中。

* * * * * date>> /tmp/date.log

* * * * * sleep 30; date>> /tmp/date.log 

现在,如果您检查/tmp/date.log文件的内容,您应该会看到date 命令每30秒运行一次。我们可以使用cat命令查看文件,查看时间栏来确认,如下:

$ cat /tmp/date.log

您还可以观看实时更新的文件。为此,请使用带有标志的tail 命令。-f

$ tail -f /tmp/date.log

在 Linux 中每 10 秒运行一次 Cron 作业

让我们看更多的例子。这个展示了如何每10秒运行一次 cron 作业。诀窍是简单地使用睡眠命令的秒数:

* * * * * date>> /tmp/date.log

* * * * * sleep 10; date>> /tmp/date.log

* * * * * sleep 20; date>> /tmp/date.log

* * * * * sleep 30; date>> /tmp/date.log

* * * * * sleep 40; date>> /tmp/date.log

* * * * * sleep 50; date>> /tmp/date.log

如果我们再次查看/tmp/date.log文件,它应该根据上述 crontab 条目每10秒更新一次:

$ tail -f  /tmp/date.log

这是每15秒执行一次date 命令的另一个例子:

* * * * * date>> /tmp/date.log

* * * * * sleep 15; date>> /tmp/date.log

* * * * * sleep 30; date>> /tmp/date.log

* * * * * sleep 45; date>> /tmp/date.log

最后,要每20秒运行一次 cron 作业,您可以执行以下操作:

* * * * * date>> /tmp/date.log

* * * * * sleep 20; date>> /tmp/date.log

* * * * * sleep 40; date>> /tmp/date.log

现在你知道了吧!我们已经向您展示了在 Linux 中每x秒运行一次 cron 作业的不同示例。阅读cron手册页(通过运行man cron和man crontab命令)以获取更多信息。