linux crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复执行,可以有两个方法实现。

1、使用延时来实现每N秒执行

原理:通过延时方法 sleep N  来实现每N秒执行。

  创建一个php做执行动作,非常简单,就是把当前时间写入log。

<?php
file_put_contents('/root/pengjun/php/crontab/run.log', date('Y-m-d H:i:s')."\r\n", FILE_APPEND);
?>

 在linux的 crontab命令中输入一下语句,然后:wq 保存退出。

* * * * * php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt
* * * * * sleep ; php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt
* * * * * sleep ; php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt
* * * * * sleep ; php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt
* * * * * sleep ; php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt
* * * * * sleep ; php /home/fdipzone/php/crontab/tolog.php>>/tmp/date.txt

使用 tail -f 查看执行情况,可以见到log每10秒被写入一条记录。

[root@shixiba crontab]# tail -f /root/pengjun/php/crontab/run.log;
-- ::
-- ::
-- ::

注意:

60必须能整除间隔的秒数(没有余数),例如间隔的秒数是2,4,6,10,12等。

如果间隔的秒数太少,例如2秒执行一次,这样就需要在crontab 加入60/2=30条语句。不建议使用此方法,可以使用下面介绍的第二种方法。

2、编写shell脚本实现

原理:在sh使用for语句实现循环指定秒数执行。

#!/bin/sh
step= #间隔的秒数,不能大于60
for (( i = ; i < ; i=(i+step) )); do
$(/usr/local/php/bin/php '/root/pengjun/crontab/ceshi.php')
sleep $step
done
exit

注意:如果60不能整除间隔的秒数,则需要调整执行的时间。例如需要每7秒执行一次,就需要找到7与60的最小公倍数,7与60的最小公倍数是420(即7分钟)。

则 crontab.sh step的值为7,循环结束条件i<420,

*/ * * * * /home/fdipzone/php/crontab/crontab.sh

linux crontab 实现每秒执行的实例的更多相关文章

  1. Linux crontab 实现每秒执行

    Linux crontab 实现每秒执行 linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 1.使用延时来实现每N秒执行 创建一个php做执 ...

  2. linux crontab 实现每秒执行(转)

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. 1.使用延时来实现每N秒执行 创建一个php做执行动作,非常简单,就是把当前时间写入log ...

  3. Linux crontab 每5秒钟执行一次 shell 脚本 的方法

    Linux crontab 每5秒钟执行一次 shell 脚本 的方法 由于 Linux 的 crontab 的定时命令格式如下: minute hour day-of-month month-of- ...

  4. 【Linux】 crontab 实现每秒执行

    linux crontab 命令,最小的执行时间是一分钟, 如果要在小于一分钟执行.就要换个方法来实现 1   crontab 的延时: 原理:通过延时方法 sleep N  来实现每N秒执行. cr ...

  5. linux中crontab实现以秒执行任务

    用crontab+sleep实现以秒执行任务 crontab -e * * * * * /bin/date >>/tmp/date.txt * * * * * sleep 10s; /bi ...

  6. crontab实现每秒执行

    crontab: #!/bin/bash step=$1 #每多少秒执行一次 ; i < ; i=(i+step) )); do date +%Y%m%d' '%H:%M:%S >> ...

  7. LINUX下实现按秒执行计划任务

    由于linux最小单位为分,但是很多需求上需要按秒执行,如30秒请求一个URL地址之类的,思路很简单就是修改计划任务脚本用循环控制,代码如下: #!/bin/bash PATH=/bin:/sbin: ...

  8. Linux crontab命令:循环执行定时任务(详解版)

    前面学习了 at 命令,此命令在指定的时间仅能执行一次任务,但在实际工作中,系统的定时任务一般是需要重复执行的.而 at 命令显然无法满足需求,这是就需要使用 crontab 命令来执行循环定时任务. ...

  9. Linux crontab 在每月最后一天执行

    59  23 * * * if [ `date +%d -d tomorrow` = 01 ]; then; command(/usr/bin/curl -s -o temp.txt  http:// ...

随机推荐

  1. 品味性能之道<三>:方法论

    自顶向下的性能优化方法论 系统优化是包括系统设计.开发.产品上线.平台优化的全过程,不同阶段的优化工作对全系统所带来的效益是不同的.理想的性能优化论应该采用自顶向下的优化方法,即在项目设计.开发和上线 ...

  2. jquery和js中走的弯路

    1.$.each的错误用法 $.each的return xx 不能结束外层的函数,但return true/false可以 所以一般的: var result; $.each(json,functio ...

  3. 刷新物化视图sql

    在plsql中新建command window,执行如下语句: exec dbms_mview.refresh('V_CTRL_POINT_PLAN_DATE');   -- V_CTRL_POINT ...

  4. Android中webview跟JAVASCRIPT中的交互

    在android的应用程序中,可以直接调用webview中的javascript代码,而webview中的javascript代码,也可以去调用ANDROID应用程序(也就是JAVA部分的代码).下面 ...

  5. Python 函数式编程和OOP编程 0001测试

    # encoding: utf- stu1 = { ' } stu2 = { ' } def stu_score(stu_score): print ('%s , %s ' % ( stu_score ...

  6. Android framework层实现实现wifi无缝切换AP

    http://www.linuxidc.com/Linux/2013-12/93476.htm Android市场上有一款叫Wifijumper的软件,实现相同ssid的多个AP之间根据wifi信号的 ...

  7. LA 3602 DNA Consensus String (暴力枚举)

    题意:给定m个长度为n的DNA序列,求一个最短的DNA序列,使得总Hamming距离最小. Hamming距离等于字符不同的位置个数. 析:看到这个题,我的第一感觉是算时间复杂度,好小,没事,完全可以 ...

  8. Mybatis实现原理探究-实现部分Mybatis功能(上)

    一.前言: MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis 可以使用简 ...

  9. WPF图形图像相关类

    BitmapMetadata类: 继承自抽象类ImageMetadata,包含图像的原数据信息,如相机型号.图像修改程序名称.拍照日期.拍照地点等.ImageSoure类包含ImageMetadata ...

  10. 虚拟化之Xen简介

    1>相关知识简介: 1>常用的磁盘IO调度器: CFQ:完全公平队列算法: deadline:最后期限算法: anticipatory:顺序读写队列算法/预期算法: NOOP:no  op ...