由于blog各种垃圾评论太多,而且本人审核评论周期较长,所以懒得管理评论了,就把评论功能关闭,有问题可以直接qq骚扰我

crontab按秒执行任务

Linux 西门飞冰 5997℃

前言

某天开发给了一个需求,需要在后台持续运行两个php文件,间隔五秒。

需求

大家都知道crontab定时任务设置时间,只能以 分 时 日 月 星 为单位设置,如何设置按秒执行计划任务?

解决方法:

我的解决方案是这样的:执行定时任务为每分钟执行一次,每次在执行前加上sleep进行睡眠,设置方法如下:

* * * * *  /usr/bin/php 开发需要执行的php脚本
* * * * * sleep 5 && usr/bin/php 开发需要执行的php脚本
* * * * * sleep 10 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 15 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 20 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 25 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 30 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 35 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 40 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 45 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 50 &&/usr/bin/php 开发需要执行的php脚本
* * * * * sleep 55 &&/usr/bin/php 开发需要执行的php脚本

还有第二种解决方法:后台持续运行一个shell脚本,shell脚本里面每隔5秒运行一次php代码,然后使用nohup在后台执行这个shell脚本。

#!/bin/bash
while true; do
   /usr/bin/php 开发需要执行的php脚本
   sleep 5
done

 

 

转载请注明:西门飞冰的博客 » crontab按秒执行任务

喜欢 (3)or分享 (0)