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

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

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

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

crontab -e 输入以下语句,然后 :wq 保存退出。

* * * * * php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 10; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 20; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 30; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 40; php /home/fdipzone/php/crontab/tolog.php
* * * * * sleep 50; php /home/fdipzone/php/crontab/tolog.php

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

fdipzone@ubuntu:~$ tail -f /home/fdipzone/php/crontab/run.log
2014-03-31 21:47:01
2014-03-31 21:47:11
2014-03-31 21:47:21
2014-03-31 21:47:31
2014-03-31 21:47:41
2014-03-31 21:47:51
2014-03-31 21:48:01

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

注意:

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

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

2.编写shell脚本实现

crontab.sh

#!/bin/bashstep=2 #间隔的秒数,不能大于60for (( i = 0; i < 60; i=(i+step) )); do$(php '/home/fdipzone/php/crontab/tolog.php')sleep $step
doneexit 0

crontab -e 输入以下语句,然后:wq 保存退出。

# m h  dom mon dow   command
* * * * * /home/fdipzone/php/crontab/crontab.sh

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

fdipzone@ubuntu:~/php/crontab$ tail -f run.log
2014-03-31 22:23:01
2014-03-31 22:23:03
2014-03-31 22:23:06
2014-03-31 22:23:08
2014-03-31 22:23:10
2014-03-31 22:23:12
2014-03-31 22:23:14
2014-03-31 22:23:16
2014-03-31 22:23:18
2014-03-31 22:23:20
2014-03-31 22:23:22
2014-03-31 22:23:25
2014-03-31 22:23:27
2014-03-31 22:23:29
2014-03-31 22:23:31
2014-03-31 22:23:33
2014-03-31 22:23:35
2014-03-31 22:23:37
2014-03-31 22:23:39
2014-03-31 22:23:41
2014-03-31 22:23:44
2014-03-31 22:23:46
2014-03-31 22:23:48
2014-03-31 22:23:50
2014-03-31 22:23:52
2014-03-31 22:23:54
2014-03-31 22:23:56
2014-03-31 22:23:58
2014-03-31 22:24:00

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

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

则 crontab.sh step的值为7,循环结束条件i<420, crontab -e可以输入以下语句来实现

# m h  dom mon dow   command
*/7 * * * * /home/fdipzone/php/crontab/crontab.sh

转载于:https://www.cnblogs.com/fdipzone/p/3715048.html

linux crontab 实现每秒执行相关推荐

  1. linux crontab 每十秒,linux crontab定时任务5秒、20秒执行一次解决方案

    crontab 每20秒执行一次 方案一: */1 * * * *  sleep 20 && /bin/bash /var/ftp/test.sh */1 * * * *  sleep ...

  2. Linux命令每五分钟执行一次,Linux crontab 每5秒钟执行一次 shell 脚本 的方法

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

  3. crontab shell 每5秒执行_linux定时任务crontab 实现每秒执行一次的方法

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...

  4. Linux定时任务crontab 实现每秒执行一次的方法

    linux crontab 命令,最小的执行时间是一分钟.如需要在小于一分钟内重复执行,可以有两个方法实现. cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} ...

  5. Linux下怎么做秒执行任务

    为什么80%的码农都做不了架构师?>>>    一,crontab没有规定到多少秒执行任务,那怎么办呢,我们就用jobs 来做吧. 例如:我要执行下面的脚本,每10秒执行一次, /u ...

  6. Linux crontab 详细介绍及执行php

    Linux crontab 命令介绍 语法介绍 使用权限 : root用户和crontab文件的所有者 crontab格式 语法 : crontab [-e [UserName]|-l [UserNa ...

  7. linux crontab 每5分钟执行一次_Linux系统配置及服务管理_第10章_计划任务

    一·简介 作用: 计划任务主要是做一些周期性的任务, 目前最主要的用途是定期备份数据. 分类 一次性调度执行 at Schedule one-time tasks with at. 循环调度执行 cr ...

  8. linux crontab 每5分钟执行一次_linux面试题:Linux定时任务必备技能有哪些?

    Linux系统在互联网公司应用越来越多,也有不少的朋友愿意加入运维的行列中.定时任务使Linux运维学习中必须掌握的一项.那么Linux定时任务内容,有哪些知识点?有哪些面试题需要掌握? 1 选择 1 ...

  9. linux crontab 每5分钟执行一次_第十一章:走进Linux世界——源码包管理and任务计划。...

    一.文件管理 (1)概述 Source Code 源代码经过GCC.C++编译环境编译才能运行 可以设定个人设置,开关功能 (2)源码包管理 获取源码包--官网下载到真机,然后 rz 命令上传到虚拟机 ...

最新文章

  1. 2022-2028年中国橡胶漆产业发展动态及未来趋势预测报告
  2. arch Linux 安装完,无法通过 SSH 远程连接 root 用户问题
  3. errorgetlast php,php error_clear_last()函数与error_get_last()函数
  4. Docker自学纪实(三)Docker容器数据持久化
  5. ABP框架 v2.7.0已经发布!
  6. lhgdialogV2.37 使用
  7. 解决 wamp网站访问慢的问题
  8. centos下MySQL Workbench连接时崩溃的解决方法
  9. java并发包下的lock接口与syschronized关键字的区别
  10. Hyper-v 2.0
  11. 【图像去雾】基于Retinex算法实现图像去雾matlab代码
  12. 模组使用之常见认证,CCC认证,SRRC认证,ROHS认证,NAL认证
  13. java项目 ppt,Java项目报告ppt
  14. 如何操作电脑压缩包解压文件?干货技巧!电脑压缩包怎样进行文件解压?
  15. 论文解读GNNs Exponentially Lose Expressive Power For Node Classification
  16. Excel如何冻结窗口
  17. 网站服务器防火墙waf介绍
  18. Unity导出exe报错,PC端
  19. 类似51vv视频聊天室方案建设
  20. 计算机网络应用层论文,计算机网络实验报告应用层.doc

热门文章

  1. DevOps正在扼杀程序员?
  2. 超级牛皮的oracle的分析函数over(Partition by...) 及开窗函数
  3. Informix数据库安装配置
  4. linux 下运行 jar包 java.lang.ClassNotFoundException: 解决办法
  5. 透彻理解Java并发的等待队列——Condition
  6. 昨晚的我是歌手,人工智能也掺了一脚
  7. 递归--练习11--noi9273 PKU2506Tiling
  8. 前端小技巧之ajax后遍历生成相同结构不同数据的dom
  9. 【Spring开发】—— Spring Core
  10. 关于Sa系列用户不能登录,只能本地windows身份验证的说明