crond任务调度
概述
任务调度:是指系统在某个时间执行的特定的命令或程序。
分类:
- 系统工作:有些重要的工作必须周而复始地执行。如病毒扫描等。
- 个别用户可能希望执行某些程序,比如对mysql数据库的备份。
基本语法
crontab [选项]
常用选项
选项 | 说明 |
---|---|
-e | 编辑定时任务 |
-l | 查询定时任务 |
-r | 删除当前用户的所有任务 |
5个占位符说明
实例解释
特殊符号说明
应用实例
案例1: 每隔1分钟,就将当前的日期信息,追加到/tmp/mydate文件中
*/1 * * * * date >> /tmp/mydate
案例2: 每天凌晨 2:00将mysql数据库testdb ,备份到文件中。
mysqldump -u root -p密码数据库> /home/db.bak
(1) crontab -e
(2)02 * * * mysqldump -u root -proot testdb > /home/db. bak
at定时任务
基本介绍
- at命令是一.次性定时计划任务,at的守护进程atd会以后台模式运行,检查作业队列来运行。
- 默认情况下,atd守护进程每60秒检查作业队列,有作业时,会检查作业运行时间,如果时间与当前时间匹配,则运行此作业。
- at 命令是一次性定时计划任务,执行完一个任务 后不再执行此任务了
- 在使用at命令的时候,一定要保证atd进程的启动,可以使用相关指令来查看 ps -ef | grepatd,可以检测atd是否在运行
基本语法
at [选项] [时间]
选项
时间定义
- 接受在当天的hh:mm (小时:分钟)式的时间指定。假如该时间已过去,那么就放在第二天执行。例如: 04:00
- 使用midnight (深夜),noon (中午),teatime (饮茶时间,一 般是下午4点)等比较模糊的词语来指定时间。
- 采用12小时计时制,即在时间后面加上AM (上午)或PM (下午)来说明是上午还是下午。例如: 12pm .
- 指定命令执行的具体日期,指定格式为month day (月日)或mm/dd/yy (月/日/年)或dd.mm.yy (日.月年) ,指定的日期必须跟在指定时间的后面。例如: 04:00 2021-03-1
- 使用相对计时法。指定格式为:now+counttime-units,now就是当前时间,time-units是时间单位,这里能够是minutes.(分钟)、hours(小时)、days (天)、weeks (星期)。count是时间的数量,几天,几小时。例如: now + 5 minutes
- 直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。