概述
crond 任务调度
crontab 进行定时任务的设置
任务调度:是指系统在某个时间执行特定的命令或程序。
任务调度分类:1.系统工作:有些重要的工作必须周而复始地执行。如病毒扫描
个别用户工作:个别用户可能希望执行某些程序,比如对mysql数据库的备份
-
基本语法:crontab [选项]
-
常用选项:
-
-e 编辑crontab定时任务
-
-l 查询crontab任务
-
-r 删除当前用户所有的crontab任务
-
-
快速入门
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab -e命令
接着输入任务到调度文件
如:*/1 ls -l /etc/ > /tmp/to.txt
意思是说每小时的每分钟执行ls -l /etc/ > /tmp/to.txt命令
-
参数细节说明
5个占位符说明
项目 含义 范围 第一个* 一小时当中的第几分钟 0-59 第二个* 一天当中的第几个小时 0-23 第三个* 一个月当中的第几天 1-31 第四个* 一年当中的第几月 1-12 第五个* 一周当中的星期几 0-7(0和7都代表星期日)
-
特殊符号说明
特殊符号 | 含义 |
---|---|
* | 代表任何时间。比如第一个*就代表一小时中每分钟都执行一次的意思 |
, | 代表不连续的时间。比如"0 8,12,16 ***"命令,就代表在每天的8点0分,12点10分,16点0分都执行一次命令 |
- | 代表连续的时间范围。比如"0 5 ** 1-6"命令,代表在周一到周六的凌晨5点0分执行命令 |
*/n | 代表每隔多久执行一次。比如"*/10 * * * *"命令,代表每隔10分钟就执行一遍命令。 |
案例1:每隔1分钟,就将当前的日期信息,追加到 /tmp/mydate 文件中
*/1 * * * * date >> /tmp/mydate
案例2:每隔1分钟,就将当前的日期和日历信息,追加到 /tmp/mycal 文件中
步骤:(1)vim /home/my.sh 写入内容 date >> /home/mycal 和 cal >> /home/mycal
(2)给my.sh增加执行权限,chmod u+x /home/my.sh
(3)crontab -e 增加*/1 * * * * /home/my.sh
-
crond 相关指令
-
crontab -r:终止任务调度
-
crontab -l:列出当前有哪些任务调度
-
service crond restart 重启任务调度
-
at定时任务
-
at命令是一次性定时计划命令,at的守护进程atd会以后台模式运行,检查作业队列来运行。
-
默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业
-
at命令是一次性定时计划命令,执行完一个任务后不再执行此任务了
-
在使用at命令的时候,一定要保证atd进程的启动
ps -ef 检查任务进程
ps -ef | grep atd 过滤发现atd是否运行
-
at命令格式
at [选项] [时间]
ctrl + d 结束at命令的输入
ctrl + d 输入两次
输错了ctrl + backspace 键删除
at时间定义
at指定时间的方法:
-
在当天的hh:mm(小时:分钟)式的时间指定。加入时间已经过去,第二天执行。例:04:00
-
使用midnight(深夜),noon(中午),teatime(喝茶,下午四点)
-
采用12小时计时制,在时间后面加上AM(上午)或者PM(下午)。例:12pm
-
指定命令执行的具体日期,指定格式为month day(月 日)或者mm/dd/yy(月/日/年)或dd.mm.yy(日.月.年),指定的日期必须跟在指定的时间后面。例:04:00 2021-03-1
-
相对计时法。格式为:now + count time-units,now是当前时间,count是时间的数量,time-units是时间单位。例:now + 5 minutes
-
直接用today、tomorrow 来指定完成命令的时间
案例1:2天后的下午5点执行 /bin/ls/home
at 5pm + 2 days 回车
/bin/ls/home +两次ctrl + d
案例2:atq命令来查看系统中有没有执行的工作任务
atq
案例3:明天17点钟,输出时间到指定的文件中 比如/root/date100.log
at 5pm tomorrow 回车
date > /root/date100.log 两次CTRL+d
案例4:2分钟后,输出时间到指定的文件中 比如/root/date200.log
at now + 2 minutes 回车
date > /root/date200.log 两次ctrl + d
案例5:删除已经设置的任务
atrm + 编号
最后
以上就是无语溪流为你收集整理的Linux学习:任务调度的全部内容,希望文章能够帮你解决Linux学习:任务调度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复