如何在 Linux 中每 10、20 和 30 秒运行一次 Cron 作业

言鼎科技 2023-07-06 3538

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


您是计划 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 语句添加到文件中。


* * * * * 日期>> /tmp/date.log

* * * * * 睡眠 30;日期 >> / tmp / 日期 . 日志


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


$ cat / tmp / date . log


您还可以实时查看文件传输情况。为此,请使用 tail 命令和-f标志。


$ tail -f / tmp / 日期 . 日志


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

让我们看看其他例子。这展示了如何每 10 秒运行一次 cron 作业。诀窍是只使用 sleep 命令的秒数:


* * * * * 日期>> /tmp/date.log

* * * * * 睡眠 10;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 20;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 30;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 40;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 50;日期 >> / tmp / 日期 . 日志

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


$ tail -f / tmp / 日期 . 日志

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


* * * * * 日期>> /tmp/date.log

* * * * * 睡觉 15; 日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 30;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 45; 日期 >> / tmp / 日期 . 日志

最后,要每 20 秒运行一次 cron 作业,您可能看起来像这样:


* * * * * 日期>> /tmp/date.log

* * * * * 睡眠 20;日期 >> / tmp / 日期 . 日志

* * * * * 睡眠 40;日期 >> / tmp / 日期 . 日志

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


如何在 Linux 上创建和管理 Cron 作业

Cron 与 Anacron:如何在 Linux 上使用 Anacron 安排任务

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



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

言鼎科技

The End