任务计划的条件:
1.在未来的某个时间点执行一次某个任务(at batch)
2.周期性的执行某个任务(cron)
at
在指定时间执行任务
用法
at [选项参数] [时间]
选项参数
-l 查看作业
-c 显示即将执行任务的细节
-d 使用任务id号删除指定任务
时间
时间 | 例子 | 说明 |
分 | at now+5 minutes | 任务在5分钟后运行 |
时 | at now + 1 hour | 任务在1小时后运行 |
天 | at now + 3 days | 任务在3天后运行 |
周 | at now + 2 weeks | 任务在两周后运行 |
固定用法 | at midnight | 任务在午夜运行 |
固定用法 | at 10:30pm | 任务在晚上10点30分 |
固定用法 | at 23:59 12/31/2018 | 任务在2018年12月31号23点59分 |
例子:
1.新建一个任务
2.查看任务
3.通过邮件查看任务是否执行mail
cron
自身是一个不间断运行的服务
anacron
cron的补充,能够实现让cron由于各种原因在过去的时间该执行而未执行的任务在机器恢复正常时执行一次。(/etc/anacrontab)
cron
系统cron任务 /etc/crontab 格式:分 时 天 月 周 用户 任务
用户cron任务 /var/spool/cron/USERNAME 格式:分 时 天 月 周 任务
任务时间格式
Minute Hour Day Month Dayofweek command
分钟 小时 天 月 天每星期 命令
Minute 每个小时的第几分钟执行该任务(0-59)
Hour 每天的第几个小时执行该任务(0-24)
Day 每月的第几天执行该任务(1-31)
Month 每年的第几个月执行该任务(1-12)
DayOfWeek 每周的第几天执行该任务(0-7)
Command 指定要执行的程序
通配时间格式
* 取值范围内的所有数字 * * * * * 每一分钟
/ 每过多少个数字 */3 * * * * 每3分钟
- 从X到Z 10 * * * 1-5 每周的1到5
, 散列数字 10,40 * * * * 每小时的10分和40分
用户任务的管理
服务操作
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //查看服务状态
管理任务
crontab -l 列出当前任务
-e 编辑
-r 移除所有任务
-u USERNAME 管理其他用户任务
cron日志
/var/log/cron
例:
*/3 * * * * /bin/date>>/test/temp/jobTest.txt
每3分钟打印一次时间