1.计划未来的时间点执行一次某项任务;
at
batch(自动选择系统较空闲时刻执行任务)
at 时间
at>COMMAND
at>Ctrl + d
指定时间:
绝对时间:HH:MM, DD:MM:YY MM/DD/YY
10:20
now +3m
单位:minutes, hours ,days, weeks
模糊时间:noon,midnight,teatime
命令的执行结果:将以邮件的形式发送给安排任务计划的用户
at -l =atq 显示自己的作业列表
at -d 作业号 删除指定作业(at -d JOB_ID = atrm AT JOB_ID)--以邮件的方式发送
2.周期性地执行某任务;
cron:自身是一个不间断运行的服务
anacron:cron的补充,能够实现让cron因为各种原因在过去的时间点该执行未执行的任务,在系统恢复正常后,执行一次
cron:
系统cron任务:
/etc/crontab
分钟 小时 天 月 周 用户 任务
用户cron任务
/var/spool/cron/USERNAME
分钟 小时 天 月 周 任务
时间的有效取值范围:
分钟:0-59
小时:0-23
天:1-31
月:1-12
周:0-7 , 0和7都表示周日
时间的通配表示:
*:对应的所有有效取值
,:离散时间点取值
-:连续时间点
/#:对应取值范围每多久一次
每两个小时执行一次
08 */2 * * *
每两天执行一次
09 08 */2 * *
执行结果以邮件形式发送给管理员
*/3 * * * * /bin/cat /etc/fstab &> /dev/null
cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径去找
PATH /bin:/sbin:/user/bin:/user/sbin
用户任务的管理:
crontab
-l:列出当前用户的所有cron任务
-e:编辑
-r:移除所有任务
要想使用cron任务,确保cron服务是运行的
anacron:
service cron status