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. Jmeter中控制某一段脚本失败后重复执行,并在每个HTTP Request名字中加上循环次数

    ================================================== 1.While Controller之前有一个BeanShell Sampler,用于Init N ...

  2. 创建cookie

    cookie的创建using System;using System.Collections.Generic;using System.Linq;using System.Web;using Syst ...

  3. hadoop 学习(三)之hdfs shell命令

    1.HDFS shell 1.0查看帮助  hadoop fs -help <cmd> 1.1上传  hadoop fs -put <linux上文件> <hdfs上的路 ...

  4. eclipse怎样检出SVN项目

    首先确定你的eclipse安装了svn插件.查看eclipse是否安装插件的方法:打开eclipse->文件->新建->其他 ,在弹出的选择向导窗口中如果能搜索到svn,说明ecli ...

  5. Python自动化面试必备 之 你真明白装饰器么?

    Python自动化面试必备 之 你真明白装饰器么? 装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼,所以这也是Python面试中必问的问题,但对于好多小白来讲,这个功能 有点绕 ...

  6. 2018.08.30 NOIP模拟 kfib(矩阵快速幂+exgcd)

    [输入] 一行两个整数 n P [输出] 从小到大输出可能的 k,若不存在,输出 None [样例输入 1] 5 5 [样例输出] 2 [样例解释] f[0] = 2 f[1] = 2 f[2] = ...

  7. Django介绍(3)

    https://www.cnblogs.com/yuanchenqi/articles/5786089.html

  8. gj5 自定义序列类

    5.1 序列类型的分类 容器序列  list.tuple.deque扁平序列[同一种数据类型]  str.bytes.bytearray.array.array可变序列  list, deque,by ...

  9. 8) pom.xml

    http://maven.apache.org/ref/3.3.3/maven-model/maven.html 执行mvn命令的时候默认文件名pom.xml 也可以通过 -f 指定 比如 mvn - ...

  10. 字符串"k:1“” 处理成字典 {'k':1,'k1':2....}

    1.有字符串"k:1|k1:2|k2:3|k3:4" 处理成字典 {'k':1,'k1':2....} #第一种方法 s1 = "k:1|k1:2|k2:3|k3:4&q ...