1. crond任务调度
crontab进行定时任务的设置
1.1 概述
任务调度:系统在某个时间执行的特定的命令或程序
任务调度分类:(1)系统工作:有些重要的工作必须周而复始的执行,如病毒扫描等(2)个别用户工作:个别用户可能希望执行某些程序,如musql数据库的备份
1.2 基本语法
crontab [选项]
1.3 常用选项
特殊时间执行案例:
设置任务调度文件:/etc/crontab,设置个人任务调度,执行crontab-e命令,接着输入任务到调度文件(*/1 ls -l /etc > /tmp/to.txt)
1.5 应用实例
(1)每隔一分钟,就将当前日期信息追加到/tmp/mydate文件中
(2)每隔一分钟,就将当前日期和日历都追加到/home/mycal文件中
1.6 crond相关指令
crontab -r:终止任务调度;crontab -l:列出当前有哪些任务调度;service crond restart:重启任务调度
2. at定时任务
2.1 基本介绍
(1)at命令是一次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行
(2)默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,若果时间与当前时间匹配,则运行此作业
(3)at命令是一次性定时计划任务,执行完一个任务后不在执行此任务了
(4)在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看
(5)ps -ef | grep atd(可以检测atd是否在运行)
(6)示意图
2.2 at命令格式
at [选项] [时间](Ctrl+D结束at指令的输入,输出两次)
2.3 at命令选项
2.4 at时间定义
(1)接受在当天的hh:mm(小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行
(2)使用midnight(深夜)、noon(中午)、teatime(饮茶时间,一般是下午4点)等比较模糊的词语来指定时间
(3)采用12小时计时制,即在时间后面加上AM(上午)或PM(下午)来说明是上午还是下午
(4)指定命令执行的具体日期,指定格式为month day(月 日)或mm/dd/yy(月 日 年)或dd.mm.yy(日 月 年),指定的日期必须跟在指定的时间后面
(5)使用相对计时法。指定格式为:now+count time-units,now就是当前时间,time-units是时间单位,这里能够是minutes(分钟)、hour(小时)、days(天)、weeks(星期)。count是时间的数量,几天或几小时
(6)直接使用today(今天)、tomorrow(明天)来指定完成命令的时间
2.5 应用案例
(1)2天后的下午5点执行/bin/ls/home
(2)atq命令来查看系统中没有执行的工作任务
(3)明天17点,输出时间到指定文件内,比如/root/date100.log
(4)2分钟后,输出时间到指定文件内 比如 /root/date200.log
(5)删除已经设置的任务 ,atrm 编号