Linux —— 定时任务(sleep、crontab、at)

目录

1、使用 sleep 来完成定时任务

2、使用 crontab 来进行定时任务

3、使用 at 来执行单次的定时任务


1、使用 sleep 来完成定时任务

        sleep n           等待 n 再继续往后执行 

        usleep n        等待 n 微秒再继续往后执行(1 秒等于 1 000 000 微秒)

# 定时,每分钟的第二十秒,输出一条信息t=0
while [[ 1 -eq 1 ]];        # 无限循环
dod=`date "+%S"`d=`expr $d + 0`        # 如果秒为个位数,则十位上有一个0,通过计算把0去掉if [[ $d -eq 20 ]]; thenecho `date "+%Y-%m-d %H-%M-%S"`((t++))sleep 1            # 间隔一秒后继续,不然程序执行太快,同一秒可能会输出多次fiif [[ $t -gt 3 ]]; then        # 只进行四次breakfi
done 

2、使用 crontab 来进行定时任务

        确保 crond 服务处于启动状态:systemctl start crond。

crontab 最小的单位是分钟,即最快是每隔一分钟执行一次。

crontab -l

查看当前有哪些定时任务

crontab -e

添加定时任务

crontab -r

删除目前的定时任务

        crontab -e 后,进入到编辑器中,每一行编写一个定时任务,格式说明如下。 

来自菜鸟教程

        program 可以是一个命令,也可以是一个 Shell 程序,推荐将定时执行的程序放到一个 Shell 程序中,让定时任务去执行 Shell 程序。 

        每分钟执行一次 /self/timing/outputTime.sh 这个程序(注意这个 Shell 程序要有执行权限。chmod u+x outputTime.sh 为用户添加执行权限):

        定时任务开启后,每隔一分钟,第一句的结果将通过邮件发送到 /var/spool/mail/root 中,第二句的结果将添加到指定的文件末尾(由于输出的文件是相对路径,当前的用户为 root,则crontab 执行后,会输出到 /root/outputTime.txt 中,即用户主目录下的 outputTime.txt 文件中 )。

分  时  月中第几日  第几月  周几# 每两个小时执行一次,最后的 & 表示在后台进行执行,它不会阻塞cron的执行,允许cron继续检查和执行其他任务
0 */2 * * * /self/outputTime.sh &# 每天7:30执行一次
30 7 * * * /self/outputTime.sh# 每月1号和15号的22点执行一次
0 22 1,15 * * /self/outputTime.sh# 每小时的第一分执行一次
1 * * * * /self/outputTime.sh# 每周一至周五3点执行一次
0 3 * * 1-5 /self/outputTime.sh# 每月的1、11、21、31日执行一次
30 6 */10 * * /self/outputTime.sh

crontab 的日志通常记录在系统的 /var/log/cron 或 、/var/log/syslog 中

3、使用 at 来执行单次的定时任务

        首次使用时安装 at :yum install at 

        启动 atd 服务:systemctl start atd

         at 基本格式

at [选项] [要执行的时间]

        时间可以是相对的也可以是绝对的。相对时间的设定是使用 now + 从现在开始要经过的时间。

at now + 3 minutes
at now + 3 hours
at now + 3 days
at now + 3 weeks
at now + 3 months
at now + 3 yearsat 3:00 AM tomorrow
at 3:00 AM 08/01/2023
at 16:00 2023-12-30

        在一分钟之后向指定文件中追加 hello world。at -l 查看待执行的 at 任务。 

        使用管道符将要执行的内容传递给 at。在三天之后执行

        删除还未执行的任务

# 首先获取到其 id
at -l         # 或 atq# 然后根据 id 删除该任务
at -d [id]    # 或 atrm [id]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uniapp使用Echarts图表H5显示正常 打包app显示异常

uniapp使用Echarts在H5页面调试 调试完在H5正常显示 然后通过安卓机调试的时候 发现直接空白了 还有这个爆错 Initialize failed: invalid dom 我有多个图表、图表是通过v-for循环出来的 解决方案 原来是yarn直接安装Echarts 然后改成本地JS文件引入 gitbub文件地址 — dist/…

二十几岁的我们:在旷野中找寻自我

二十几岁,这是一个充满变数、充满机遇和挑战的年纪。它如同一片辽阔的旷野,每个人都在其中寻找自己的方向,摸索着自己的道路。这是一个既令人兴奋又令人迷茫的年纪,我们穿着不同的鞋子,注定要走不同的路。 在这个年纪里…

面向对象(下)

目录 01、static1.1、static的使用1.2、static应用举例1.3、单例(Singleton)设计模式 02、main方法的语法03、类的成员之四:代码块04、关键字:final05、抽象类与抽象方法5.1、多态的应用:模板方法设计模式(TemplateMethod) 06、接口(interfac…

(九)Android布局类型(约束布局ConstraintLayout)

约束布局(ConstraintLayout)与相对布局差不多,是创建一个应用后默认的布局方式,比相对布局更加灵活,一般用于平铺的布局(不适用于层叠布局),常用于托拖拽方式构建页面,最…

第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南》

第五篇:第五篇:数字视频广告格式概述 - IAB视频广告标准《数字视频和有线电视广告格式指南 --- 我为什么要翻译介绍美国人工智能科技公司IAB系列技术标准(2) ​​​​​​​翻译计划 第一篇序言第二篇简介和目录第三篇概述- IA…

由浅到深认识C语言(2):C语言的类型及语句

该文章Github地址:https://github.com/AntonyCheng/c-notes 在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn…

pr画中画模板视频素材

pr画中画视频模板,视频聊天对话模板。软件支持:Premiere Pro 2021或更高版本。 来自:pr模板网,下载地址:https://prmuban.com/38196.html

代码随想录算法训练营第day26|39. 组合总和、 40.组合总和II、 131.分割回文串

39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 ta…

execl数据多维度建模(二)

源数据 1.选择数据 1)插入透视表 选中源数据的数据区域--插入--数据透视表(新的工作表名:透视表) 2)透视表设置 ShipCountry拉入行标签;CategoryName拉入列标签;sales拉入值的位置 3&#xf…

计算机二级Python题目12

目录 1. 基础题 1.1 基础题1 1.2 基础题2 1.3 基础题3 2. turtle画图题 3. 大题 3.1 大题1 3.2 大题2 1. 基础题 1.1 基础题1 sinput("请输入一个小数:") ss[::-1] cs0 for c in s:if c.:breakcseval(c) print({:*>10}.format(cs)) 1.2 基础…

CPU生产的生命周期 - 原材料篇

CPU是中央处理器的缩写,它是执行程序指令的电子电路。CPU使用的基本原材料是硅、铜、铝和各种塑料。由于CPU在现代社会中被大量消耗,因此生产商必须考虑原材料的能源投入和环境影响。 硅是地壳中第二丰富的元素。它以二氧化硅和硅酸盐的形式存在。二氧化…

Linux——进程通信(二) 匿名管道的应用:进程池

前言 之前我们学习了进程通过匿名管道进行通信,实现了两个进程的数据传输。 如果我们管理的是很多个进程,通过管道发送指令,因为如果管道中没有数据,读端必须等待,也就是被管理的进程们都在等待我发送的指令&#xf…

CVE-2024-24112 XMall后台管理系统 SQL 注入漏洞分析

------作者本科毕业设计项目 基于 Spring Boot Vue 开发而成...... [Affected Component] /item/list /item/listSearch /sys/log /order/list /member/list (need time-based blind injection) /member/list/remove 项目下载地址 Exrick/xmall: 基于SOA架构的分布式…

cesium viewer camera flyto

一、viewer的flyTo内部调用的是camera的相关定位方法,针对不同的定位对象,计算出合适的位置和相机视角。viewer可以定位到entity、dataSource、Cesium3DTileset、ImageLayer等。 var rect [116.490401, 39.964771, 116.499623, 39.977102];var heading …

2024全国水科技大会:【协办单位】山东文远环保科技股份有限公司

山东文远环保科技股份有限公司坐落于千年古城齐国故都--临淄。初始成立于2011年,是淄博市首批国有资本参股的混合改制企业。 公司着力打造环保设备制造、环保工程及服务、环保水务/固废处理/新能源项目投资及运营管理、固废循环经济产业园等四大板块。是一家集投资、…

Elasticsearch8.x版本Java客户端Elasticsearch Java API 如何并发修改

前言 并发控制,一般有两种方案,悲观锁和乐观锁,其中悲观锁是默认每次更新操作肯定会冲突,所以每次操作都要先获取锁,操作完毕再释放锁,适用于写比较多的场景。而乐观锁是默认每次更新操作都不会冲突&#…

鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:GridCol)

栅格子组件,必须作为栅格容器组件(GridRow)的子组件使用。 说明: 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 子组件 可以包含单个子组件。 接口 GridCol(option?:{span?: number | …

综合知识篇00-综合知识考点汇总目录(2024年软考高级系统架构设计师冲刺知识点总结-综合知识篇-先导篇)

专栏系列文章推荐: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html 【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级…

二叉树的初步学习和顺序结构实现

当我们学完顺序表、链表、栈和队列的时候,我们就要开始学习树了。树对于以后的学习有非常大的帮助,尤其是排序。好了,开始我们的学习吧。 1.树的概念及结构 1.1树的结构 树结构是一种非线性结构。它是由n(n>0)个…

CHINC邀请函 | 全视通邀您共赴青岛,碰撞数智火花

展会名称:2024中华医院信息网络大会(CHINC) 展会时间:3月29-31日 展会地址:青岛国际会展中心(红岛馆) 全视通展位:B2-A05A 全视通将携智慧病区、智慧门诊、智慧手术室、智慧后勤…