Linux教程

Linux定时任务调度

本文主要是介绍Linux定时任务调度,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

【crontab 选项】-e,编辑crontab定时任务;-l,查询crontab任务,列出当前有那些任务;-r,删除当前用户所有的crontab任务,终止任务调度;service crond restart,重启任务调度

进入编辑页面后输入*/1**** ls -l /etc/ > /tmp/to.txt

第一个*,一小时当中的第几分钟,范围0-59

第二个*,一天中的第几个小时,范围0-23

第三个*,一个月中的第几天,范围1-31

第四个*,一年中的第几个月,范围1-12

第五个*,一周当中的第几个星期,范围0-7(0和7都表示星期天)

*表示任何时间,比如第一个*表示一个小时中每分钟都执行一次

,表示不连续时间,比如“0 8,12,16 ***”表示在每天都8点0分,12点0分,16点0分执行一次命令

-表示连续的时间范围,比如“0 5 * * 1-6”表示在周一到周六的凌晨5点0分执行命令

*/n表示每隔多久执行一次,比如“*/10 ****”表示每隔10分钟就执行一次命令

 

 

at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行

默认情况下,atd守护进程每60秒检查作业队列(job队列),有作业时,会检查作业运行时间,如果时间与当前时间不匹配,则运行此作业

at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了

在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看【ps -ef】检测当前正在执行的进程,| grep atd检测atd是否正在运行

【at 选项 时间】Ctrl+D结束at命令输入(输入两次Ctrl+D)    选项;-m,当指定的任务被完成后,将给用户发送邮件,即使没有标准输出;-I,atq的别名;-d,atrm的别名;-v,显示任务将被执行的时间;-c打印任务的内容到标准输出;-V,显示版本;-q<队列>,使用指定的队列;-f<文件>,从指定文件读入任务而不是从标准输入读入;-t<时间参数>,以时间参数的形式提交要运行的任务

时间定义:

1、接受在当天的hh:mm(小时:分钟)式的时间指定,假如该时间已经过去,那么就放在第二天执行,例如04:00

2、使用midnight,noon,teatime(饮茶时间,一般指下午四点)等比较模糊的词语来指定时间

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例如【at now + 2 minutes】

6、直接使用today、tomorrow来指定完成命令的时间

【atq】查看系统中没有有没有执行的工作任务

【atrm 5】删除第五个命令

这篇关于Linux定时任务调度的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!