首页 > 代码库 > 任务计划
任务计划
1、在未来的某个时间点执行一次任务
at
#at 时间
#at> command
#at> ctrl+d
时间:
绝对时间 HH:MM, DD.MM.YY
相对时间 now+3m
单位 minutes hours days weeks
模糊时间 noon midnight teatime
命令的执行结果,以邮件的形式发送给安排任务的用户。
at -l 显示作业
at -d job 删除作业
用户白名单 /etc/at.allow
用户黑名单 /etc/at.deny
batch
在系统空闲时间执行认为
2、周期性的执行任务
cron
anacron:cron的补充程序,让cron该执行而没有执行的程序,在系统恢复后执行一次。
cron
系统cron
/etc/crontab
分钟 小时 天 月 周 用户 任务
脚本中定义
SHELL=/bin/bash
PATH=
MAILTO=root
HOME=/
用户cron
/var/spool/cron/USER_NAME
分钟 小时 天 月 周 任务
用户任务的管理
crontab
-l 列出当前用户的cron
-e 编辑
-r 移除所有任务
-u username root管理其他用户的cron任务 -e
时间的有效范围
分钟 0-59
小时 0-23
天 0-31
月 1-12
周 0-7(0和7都表示周日)
时间的通配
* 对应的所有有效取值
3 * * * * 每小时任务
3 12 * * * 每天任务
3 12 16 * * 每月任务
, 离散时间点取值
10,40 * * *2,5 每周二、五的每小时10和40执行
- 连续时间点
10 2 * * 2-5 周二到周五的2点10分
/ 对应取值范围内每多久1次
*/3 * * * * 没3分钟执行一次
cron的环境变量:cron执行的命令都去PATH变量指定的路径去找。
用户没有登录,cron的命令搜索目录 /bin /sbin /usr/bin /usr/sbin
可以在cron执行的脚本中定义PATH变量。
任务计划