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 ]];        # 无限循环
do
	d=`date "+%S"`
	d=`expr $d + 0`        # 如果秒为个位数,则十位上有一个0,通过计算把0去掉
	if [[ $d -eq 20 ]]; then
		echo `date "+%Y-%m-d %H-%M-%S"`
		((t++))
		sleep 1            # 间隔一秒后继续,不然程序执行太快,同一秒可能会输出多次
	fi
	if [[ $t -gt 3 ]]; then        # 只进行四次
		break
	fi
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 years


at 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]

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

聚道云如何实现薪人薪事与金蝶云无缝对接,破解财务难题?

一、客户介绍 某科技有限责任公司是一家在信息技术领域具有显著影响力的企业,长期致力于为企业提供全面的解决方案和技术支持。在业务范围上,该公司覆盖了多个关键领域,包括云计算、大数据、人工智能等前沿技术。公司不仅提供定制化的技术解…

从资金管理的角度谈谈个人怎样交易现货白银

刚进入现货白银市场,个人要怎么交易现货白银的?这就涉及现货白银交易生涯的开启问题,开头开的好,我们整个交易生涯都将会有所裨益,所以我们要为个人怎样交易现货白银开个好头。下面我们就从资金管理的角度出发&#xf…

可视化搭建一个智慧零售订单平台

前言 智慧零售行业是在数字化浪潮中快速发展的一个领域,它利用先进的信息技术和大数据分析来提升零售业务的效率和顾客体验。智慧零售订单平台,具有跨平台、数据智能清洗和建模,以及更加丰富的数据展示形式等优势。智慧零售订单平台可以以文…

1.gradle编译和运行

1.在Windows 项目的根目录下使用.\gradlew.bat build命令进行编译。 如果出错的原因是连接超时: Exception in thread “main” java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-8.6-bin.zip failed: timeout (10000ms) a…

薄板/厚板模态分析Matlab有限元编程 | 【源码+理论文本】|板单元|板壳单元|Mindlin Reissner

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

软件测试方法 -- 等价类边界值

测试用例的定义 测试用例是为了特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,他是指导测试工作进行的依据。 下面我们介绍几种常用的黑盒测试方法 等价类划分法 定…

挑战杯 车位识别车道线检测 - python opencv

0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习 机器视觉 车位识别车道线检测 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🥇学长这里给一个题目综合评分(每项满分5分) …

BOM(物料清单)是什么?在生产管理中有什么用?

BOM(物料清单)是什么?在生产管理中有什么用? 一、什么是BOM (物料清单)? 举个例子,做一双运动鞋,需要的配料可以笼统的分为鞋身和鞋带,那么由鞋身和鞋带组成…

部署高斯喷射项目gaussian-splatting

硬件要求 支持 CUDA 的 GPU,具有 7.0 的计算能力24 GB VRAM 软件要求 Conda用于 PyTorch 扩展的 C 编译器(Visual Studio 2019) CUDA SDK 11 for PyTorch 扩展,在 Visual Studio 之后安装C 编译器和 CUDA SDK 必须兼容 拉取源码 …

AI实景无人自动直播间怎么搭建?三步教你轻松使用

最近很多朋友看到AI自动直播带货玩法,也想开启自己的自动直播间,但还是有些问题比较担心,这种自动讲解、自动回复做带货的直播间是不是很麻烦? 实景无人自动直播 ​ 实际上这种直播间搭建相当简单便捷!今天跟着笔者&…

sqlserver字段2按字段1分组后;合并字段2

效果 相同dzbm的mc通过‘;’合并 sqlserver语句 按字段dzbm分组,有相同dzbm的mc通过 ;合并成一个字段,其它字段都选择第一个 SELECT dzbm, STUFF((SELECT DISTINCT ; + mc FROM tablenameWHERE dzbm = p.dzbm FOR XML PATH()), 1

PHP反序列化--pop链

目录 一、了解pop链 1、pop链: 2、pop链触发规则: (1)通过普通函数触发: (2)通过魔术方法触发: 3、pop链魔术方法例题: 一、了解pop链 1、pop链: pop链…

力扣大厂热门面试算法题 43-45

43. 字符串相乘,44. 通配符匹配,45. 跳跃游戏 II,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.18 可通过leetcode所有测试用例。 目录 43. 字符串相乘 解题思路 完整代码 Python Java 44. 通配符…

【Redis知识点总结】(五)——Redis实现分布式锁

Redis知识点总结(五)——Redis实现分布式锁 setnxsetnx expiresetnx expire lua脚本set nx exset nx ex 随机值set nx ex 随机值 lua脚本set ex nx 随机值 lua脚本 锁续期RedissonRedLock 在Redis的众多应用场景中,分布式锁是Redis比…

FDA: 用于语义分割的傅里叶域自适应

论文链接:https://arxiv.org/abs/2004.05498 代码链接:GitHub - YanchaoYang/FDA: Fourier Domain Adaptation for Semantic Segmentation 机构:UCLA 发表于2020CVPR 这篇文章别的地方略读了,主要看看方法,感兴趣自…

淘宝商品详情API接口采集商品上货

使用淘宝商品详情API接口采集商品信息以进行上货是一个常见的需求,但需要注意的是,淘宝的API接口使用受到严格的限制和规定,需要遵循淘宝的开放平台政策。以下是一般性的步骤和建议,但请确保在实际操作中遵循淘宝的官方文档和规定…

极智芯 | 解读移动端芯片荟萃篇 主流移动芯片性能对比

欢迎关注我的公众号「极智视界」,获取我的更多技术分享 大家好,我是极智视界,本文分享一下 解读移动端芯片荟萃篇 主流移动芯片性能对比。 要说芯片的应用场景一般都会说云边端、云边端的,这里的移动端芯片当然是会属于云边端中的端场景了,主要是面向手机、平板等应用。下…

springboot实战笔记

用户模块开发 用户登录接口实现 根据token获取用户信息 检查账号是否可用 用户注册接口实现

【每日算法】理论:常见AIGC模型; 刷题:力扣单调栈

上期文章 【每日算法】理论:生成模型基础; 刷题:力扣单调栈 文章目录 上期文章一、上期问题二、理论问题1、stable diffusion模型的网络架构2、T5的网络架构(Text-To-Text Transfer Transformer模型)3、SDXL模型4、DA…

【网络安全】 MSF生成木马教程

本文章仅用于信息安全学习,请遵守相关法律法规,严禁用于非法途径。若读者因此作出任何危害网络安全的行为,后果自负,与作者无关。 环境准备: 名称系统位数IP攻击机Kali Linux6410.3.0.231客户端Windows 76410.3.0.234…