linux 下定时执行某个程序的两种方法小结

  最近在unbuntu环境下需要定时执行某个任务,经过一番搜索,总结起来网上的方法主要有两种,每一种应该都有自己的适合场景,分别是使用crontab和在脚本中执行循环并运行sleep命令。crontab的方法在按秒执行会比较麻烦,更适合于间隔时间较长的执行过程。而运行sleep命令适合于时间较短的重复执行。

  使用crontab的方法:

  使用crontab -e打开编辑模型,在新打开的文件中添加一行代码,代码由6列组成如(1 1 * * * command),每一列分别对应与分钟,小时,日(一个月中的第几天),月份,星期 定时执行的命令。*则是通配符,表示该列的项目任意。

  对于使用crontab按秒执行的,网上有说到一种代码格式如下,表示一分钟的每10秒执行某个特定命令

* * * * * sleep 10 && command

* * * * * sleep 20 && command

* * * * * sleep 30 && command

* * * * * sleep 40 && command

* * * * * sleep 50 && command

* * * * * sleep 60 && command

  使用sleep方法

可以编写一个循环的脚本,在其中运行程序,并且使用sleep命令,例如,打开一个文本文件,输入

while true

do

command

sleep 5

done

使用chmod a+x 将该文件的类型修改为可执行,运行该文件就实现了每5秒执行一次该程序。

参考

http://www.linuxidc.com/Linux/2011-12/48861.htm

http://oplinux.com/order/crontab-ss.html

http://askubuntu.com/questions/800/how-to-run-scripts-every-5-seconds-using-cron

 

posted @ 2012-12-08 10:54  juejiang  阅读(522)  评论(0编辑  收藏  举报