linux crontab 实现每秒执行

编写shell脚本实现
crontab.sh
#!/bin/bash
step=2 #间隔的秒数,不能大于60
for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/fdipzone/php/crontab/tolog.php') sleep $step done exit 0

crontab -e 输入以下
* * * * * /home/fdipzone/php/crontab/crontab.sh
log每2秒被写入一条记录
原理:在sh使用for语句实现循环指定秒数执行。
注意:如果60不能整除间隔的秒数,则需要调整执行的时间。例如需要每7秒执行一次,就需要找到7与60的最小公倍数,7与60的最小公倍数是420(即7分钟)。
则 crontab.sh step的值为7,循环结束条件i<420, crontab -e可以输入以下语句来实现 [plain] view plaincopy在CODE上查看代码片派生到我的代码片 # m h dom mon dow command */7 * * * * /home/fdipzone/php/crontab/crontab.sh http://blog.csdn.net/fdipzone/article/details/22701113