运行命令在后台每30秒在CentOS

运行命令在后台每30秒在CentOS

问题描述:

的标题说明了一切:运行命令在后台每30秒在CentOS

我如何可以运行在CentOS的无限期的背景每30秒一些命令?那就是:我希望能够做其他的事情,而其他一些脚本定期调用。

+0

什么cron作业,如果每一分钟都是那么精致。否则,两个cron作业,一个在主任务之前有'睡眠30'? – sauerburger

+0

@sauerburger,我在想这件事,但似乎有点麻烦我。有没有更好的,更规范的方式来做到这一点? – IHaveAQuestion

默认情况下,的cron不能安排作业在几秒钟内运行。你能做的最多的就是每分钟运行一次。

1)由单一cron运行它

要由cron运行,每隔30秒,你可以创建一个单一的cron项是这样的:

* * * * * /bin/bash -l -c "/path/to/script.sh; sleep 30 ; /path/to/script.sh" 

2)使用运行观看

运行使用脚本手表((你可以启动它的屏幕或TMUX),甚至在背景中)

watch --interval 30 /path/to/script.sh 

3)使用while循环是这样的:

#!/bin/env bash 
while [ true ]; do 
sleep 30 
/path/to/script.sh 
done 

请记住,因为这一切都取决于此选项是不会失败的证明究竟你的cron不和需要多长时间的作业运行由cron完成。通过上面的例子(3),如果cron运行需要25秒,那么你的脚本将会延迟,等等。同样适用于选项(1),以及使用其他的cron到默认的Linux的cron

4)(使用fcron

5)类似的问题,已经有人在那么那么你可能想看看这个: How to run Cronjobs more often than once per minute?