我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux定时任务crontab如何实现每秒执行一次的方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux定时任务crontab如何实现每秒执行一次的方法

这篇文章给大家分享的是有关linux定时任务crontab如何实现每秒执行一次的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

Cron 各项的描述

以下是 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script}
o minute: 区间为 0 – 59
o hour: 区间为0 – 23
o day-of-month: 区间为0 – 31
o month: 区间为1 – 12. 1 是1月. 12是12月.
o Day-of-week: 区间为0 – 7. 周日可以是0或7.

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/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 输入以下语句,然后: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

什么是Linux系统

Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。

感谢各位的阅读!关于“linux定时任务crontab如何实现每秒执行一次的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux定时任务crontab如何实现每秒执行一次的方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

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

linux定时任务crontab如何实现每秒执行一次的方法

这篇文章给大家分享的是有关linux定时任务crontab如何实现每秒执行一次的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。linux crontab 命令,最小的执行时间是一分钟。如需要在小于一分钟内重复
2023-06-09

crontab每10秒执行一次的实现方法

实例如下:vim /var/spool/cron/root* * * * * sleep 10; /usr/bin/curl http://localhost/index.php* * * * * sleep 20; /usr/bin/cu
2022-06-04

Linux中如何实现crontab定时执行任务

小编给大家分享一下Linux中如何实现crontab定时执行任务,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!基本格式 : *  *  *  *  *  comm
2023-06-13

Linux Crontab Shell脚本实现秒级定时任务的方法

一、编写Shell脚本crontab.sh#!/bin/bash step=1 #间wdwbCGRQm隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(php '/home/ww
2022-06-04

crontab实现每隔多少天执行一次脚本的两种方法

前言 我们大家在工作中,经常会碰到每隔多少天/小时/分钟执行一次脚本,或某个命令的情况。如果是每隔多少小时,多少分运行一次程序,在crontab中可能比较好实现一些,下面是一些示例及crontab的格式说明:具体示例:# 下午6点到早上6点
2022-06-04

java web如何实现每天定时执行任务

小编给大家分享一下java web如何实现每天定时执行任务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!第一步:package com.eh.util;import java.util.Calendar;import ja
2023-05-30

java定时任务cron表达式每周执行一次的坑如何解决

今天小编给大家分享一下java定时任务cron表达式每周执行一次的坑如何解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。j
2023-07-02

linux下定时执行任务的方法及crontab 用法说明(收集整理)

linux下定时执行任务的方法 在LINUX中,周期执行的任务一般由cron这个守护进程来处理[ps -ef|grep cron]。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。 cron的配置文件称为“cront
2022-06-04

Node.js node-schedule定时任务隔多少分钟执行一次的方法

在 Node.js 中,我使用 node-schedule 来执行定时任务。Cron-style 的时间格式对于初学者不太直观,所以一般使用这种方式:比如官方示例中的每个小时的 42 分执行任务var schedule = require(
2022-06-04

如何在Linux系统中使用Systemd和Crontab实现任务的串行执行

要在Linux系统中使用Systemd和Crontab实现任务的串行执行,可以按照以下步骤进行操作:1. 创建一个Systemd服务单元:创建一个新的.service文件(可以使用任何文本编辑器),例如`my-service.service
2023-10-09

如何使用Systemd和Crontab在Linux系统中实现任务的并行执行

要在Linux系统中实现任务的并行执行,可以结合使用Systemd和Crontab。下面是使用这两个工具的步骤:1. 创建并行执行的任务脚本:编写任务脚本,例如 `task1.sh` 和 `task2.sh`。2. 创建 Systemd 服
2023-10-09

jenkins 实现shell脚本化定时执行任务的方法

1.开发需求socket连接的auction拍卖jar包服务更新重启前半小时切走nginx的访问请求。 socket发起请求之后不需要nginx执行交互可以断开了,但是socket这个任务在auction拍卖任务没结束前重启auction就
2022-06-04

Android中定时执行任务的3种实现方法(推荐)

在Android开发中,定时执行任务的3种实现方法: 一、采用Handler与线程的sleep(long)方法(不建议使用,Java的实现方式) 二、采用Handler的postDelayed(Runnable, long)方法(最简单的a
2022-06-06

如何利用Linux中的crontab实现分布式项目定时任务功能

小编给大家分享一下如何利用Linux中的crontab实现分布式项目定时任务功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!认识crond服务 1、cro
2023-06-09

编程热搜

目录