Linux学习(五)定时任务调度
2022/2/3 7:16:42
本文主要是介绍Linux学习(五)定时任务调度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一,crond任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
1,系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等
2,个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份。又比如执行某些自己编写的shell脚本。
1,crontab命令
-e 编辑crontab定时任务
-l 查询crontab任务
-r 删除当前用户所有的crontab任务
命令入门:
设置任务调度文件: /etc/crontab
设置个人任务调度。执行crontab -e命令。接着输入任务到调度文件
如:*/1 * * * * ls -l /etc/ > /tmp/to.txt
意思说每小时的每分钟执行ls -l /etc/ >/tmp/to.txt命令
也就是说*/1 * * * *
代表每小时的每分钟。
下面对这个参数进行细节说明:
1,占位符说明
2,特殊符号说明
3,个别例子
例如:
里面有一个命令 date >> /root/test/to2.txt
然后再查看to2.txt
可以发现过了4分钟执行了4次date命令
二,at定时任务
at定时任务就像我们写工作计划一样,可以规定未来的某个时刻干什么事情。只干一次。不像crontab一样是每隔多长时间干某件事情。
at的定时任务完成原理如下:
每at一个任务,后台的job队列就会添加一个任务。而at的守护进程atd每60秒查看一次job队列,如果有任务到了规定的运行时间,则执行这个任务。因此,想要保证at的任务执行,一定要保证atd进程运行,可以通过ps -ef l grep atd
命令检测atd是否在运行
1,at命令
at[选项][时间] 执行命令以后进入at程序,然后输入任务。Ctrl+D结束at命令的输入,注意要连续输入两次Ctrl+D
1.1 at命令选项
1.2 at指定时间的方法
1)接受在当天的 hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如: 04:00
2)使用midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。
3)采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午。例如: 12pm
4)指定命令执行的具体日期,指定格式为month day(月日)或mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定时间的后面。例如:04:00 2021-03-1
5)使用相对计时法。指定格式为: now + count time-units ,now就是当前时间, time-units是时间单位,这里能够是minutes(分钟)、hours (小时)、days(天)、 weeks(星期)。count 是时间的数量,几天,几小时。例如: now + 5 minutes
6)直接使用today(今天)、tomorrow(明天〉来指定完成命令的时问。
1.3 举例
补充:
atq
命令查看at还没有执行的命令,即查看job队列
atrm 3
将job队列种编号为3的任务删除。
这篇关于Linux学习(五)定时任务调度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法