Cron作业调度程序不支持调度作业以秒为间隔运行,但在本文中,小编将介绍一个简单的技巧,以帮助你Linux系统中每30秒或x秒运行一次Cron作业程序。
如果你是Cron作业调度程序的新手用户,并且想每30秒运行一次作业吗?不幸的是,Cron不允许这样做,所以你不能设置Cron作业每X秒运行一次。目前Cron只支持至少60秒(即1分钟)的时间间隔。因此,如果要每30秒运行一次Cron作业,那么赶快来看看本文内容吧。
当然,在本文中,小编还将介绍许多其它示例来运行Cron命令,以及每x秒运行一次脚本。但让首先介绍如何在Linux系统中每30秒运行一次Cron作业。
Linux系统每30秒运行一次Cron作业
要完成上述任务,请在Crontab中创建两个条目。第一个作业将在每分钟(60秒)后运行date命令,然后第二个条目使用sleep命令延迟指定的时间(在本例中为30秒)并再次调用date命令。
所以,你需要在crontab(cron表)中添加以下条目,并使用以下crontab命令打开它进行编辑(-e
标志允许编辑):
#crontab -e
* * * * * date>> /tmp/date.log * * * * * sleep 30; date>> /tmp/date.log
现在,如果检查/tmp/date.log文件的内容,应该会看到date命令每30秒运行一次,这里可以使用cat命令查看文件,查看时间栏来确认,具体如下:
$ cat /tmp/date.log
此外,你还可以观看实时更新的文件。为此,请使用带有-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秒运行一次命令,所以如果想设置其它秒数运行,可以参考上述教程。