分享最新优惠信息
购买主机更加划算

如何在Linux系统中每30秒或X秒运行一次Cron作业

Cron作业调度程序不支持调度作业以秒为间隔运行,但在本文中,小编将介绍一个简单的技巧,以帮助你Linux系统中每30秒或x秒运行一次Cron作业程序。

如果你是Cron作业调度程序的新手用户,并且想每30秒运行一次作业吗?不幸的是,Cron不允许这样做,所以你不能设置Cron作业每X秒运行一次。目前Cron只支持至少60秒(即1分钟)的时间间隔。因此,如果要每30秒运行一次Cron作业,那么赶快来看看本文内容吧。

当然,在本文中,小编还将介绍许多其它示例来运行Cron命令,以及每x秒运行一次脚本。但让首先介绍如何在Linux系统中每30秒运行一次Cron作业。

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

在Linux中添加Cron作业

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

$ cat /tmp/date.log

每30秒检查一次Cron运行

此外,你还可以观看实时更新的文件。为此,请使用带有-f标志的tail命令,具体如下:

$ tail -f /tmp/date.log

实时查看文件内容

在Linux中每X秒运行一次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

此外,你还可以根据上述规格,设置任意每X秒运行一次Cron作业,以此类推。。。

总结

在上述教程中,小编主要介绍了在Linux系统中每x秒运行一次Cron作业的不同示例,包括每30秒,每20秒,每X秒运行一次Cron作业例子,仅供参考。由于Cron只支持至少60秒运行一次命令,所以如果想设置其它秒数运行,可以参考上述教程。

未经允许不得转载:惠主机 » 如何在Linux系统中每30秒或X秒运行一次Cron作业