crond任务调度
任务调度:是指系统在某个时间执行的特定的命令或程序。
任务调度分类:
系统工作:有些重要的工作必须周而**复始地执行**。如病毒扫描等
个别用户工作:个别用户可能希望执行某些程序,比如对mysq|数据库的备份。
基本语法
crontab [选项]
常用选项
-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除当前用户所有的crontab任务
重启任务调度
service crond restart
参数占位符


案例
实例:
例1:每隔1分钟,将当前日期和日历都追加到/home/mycal文件中
两条指令可以编写shell脚本,让crond定时调用;

注:shell脚本编写后要赋予用户可执行它的权限
例2:每天凌晨2:00将mysq|数据库testdb , 备份到文件中
0 2 * mysqldump -u root -proot testdb > /home/db.bak
at定时任务
概述
- at命令是一次性定时计划任务, at的守护进程atd会以后台模式运行,检查作业队列来运行。
- 默认情况下 , atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
- at命令是一 次性定时计划任务,执行完一个任务后不再执行此任务了
- 在使用at命令的时候 ,一定要保证atd进程的启动,可以使用相关指令来查看(ps -ef|grep atd)
at命令格式
at [选项] [时间]
两次Ctrl+ D(退出加回车的快捷键)结束at命令的输入
atq 查看系统中有无执行的任务
atrm 编号 删除已设置好的任务
at命令选项
at时间定义
at指定时间的方法:
- 接受在当天的hh:mm (小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。
- 使用midnight (深夜), noon (中午), teatime (饮茶时间,一般是下午4点)等比较模糊的词语来指定时间。
- 采用12小时计时制,即在时间后面加上AM (上午)或PM(下午)来说明是上午还是下午。
- 指定命令执行的具体日期,指定格式为 month day(月日)或 mm/dd/yy (月/日/年)或dd.mm.yy(日.月年), 指定的日期必须跟在指定时间的后面。
- 使用相对计时法。指定格式为: now + count time-units , now就是当前时间, time-units是时间位,这里能够是minutes (分钟)、hours (小时)、days (天)、weeks (星期)。count是时间的数量,几天,几小时。例如:now+5minutes
- 直接使用today (今天)、tomorrow (明天)来指定完成命令的时间。
