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

简介: cron 作业调度程序不支持调度作业以秒为间隔运行。在本文中,我们将向您展示一个简单的技巧,帮助您在 Linux 中每 30 秒或 x 秒运行一次 cron 作业。

您是新来的吗想要每 30 秒运行一次作业?不幸的是,cron 不允许这样做。你不能安排一个 cron 作业来运行每个x第二。克朗只支持至少的时间间隔60秒(即 1 分钟)。要每 30 秒运行一次 cron 作业,您需要使用我们在下面解释的技巧。

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

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

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

您需要在以下条目中添加定时任务(cron 表),然后使用以下命令打开它进行编辑定时任务命令(-e标志启用编辑):

# crontab -e

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

* * * * * date>> /tmp/date.log
* * * * * sleep 30; date>> /tmp/date.log 
在 Linux 中添加 Cron 作业

现在如果你检查的内容/tmp/日期.log文件,您应该看到日期命令运行每个30秒。我们可以使用查看文件并查看时间栏进行确认,如下:

$ cat /tmp/date.log
检查 Cron 每 30 秒运行一次

您还可以实时观看文件更新。为此,请使用与-f旗帜。

$ tail -f /tmp/date.log
实时查看文件内容

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

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

* * * * * 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/日期.log文件,应该每隔一段时间更新一次10基于上述 crontab 条目的秒数:

$ tail -f  /tmp/date.log

这是执行的另一个示例日期命令每次之后15秒:

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

最后,每隔一段时间运行一次 cron 作业20秒,你可以有这样的东西:

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

另外,这里还有更多文章供您学习使用 cron 进行作业调度:

现在你知道了!我们向您展示了不同的示例来运行 cron 作业xLinux 中的第二个。阅读 cron 手册页(通过运行man cronman crontab命令)了解更多信息。

如果您知道任何有用的 cron 命令提示或技巧,请在下面的评论中分享。