Linux 任务计划
任务计划有两种:
在未来的某个时间点执行一次某任务;
周期性地执行某任务;
在未来的某个时间点执行一次某任务;
At:
Batch:
at 用法:
at 时间
at> COMMAND
at> Ctrl+d
at -l = atq 显示任务
at -d AT_JOB_ID = atrm AT_JOB_ID 删除任务
时间
绝对时间:HH:MM, DD.MM.YY MM/DD/YY
相对时间:now+#
minutes, hours, days, weeks
模糊时间:noon, midnight
命令的执行结果:将以邮件的形式发送给安排任务的用户
周期性地执行某任务;
cron:不间断运行的服务;
anacron:实现让cron因为各种原因在过去的时间该执行而未执行的任务在恢复正常执行一次;
cron:
系统cron:任务:分钟 小时 天 月 周 用户 任务
/etc/crontab
用户cron:任务:分钟 小时 天 月 周 任务
/var/spool/cron/USERNAME
用户任务的管理:
crontab
-l: 列出当前用户的所有cron任务
-e: 编辑
-r: 移除所有任务
-u USERNAME: 管理其用户的cron任务
时间有效取值:
分钟:0-59
小时:0-23
天:1-31
月:1-12
周:0-7,0和7都表示周日
时间通配表示:
*:对应时间的所有有效取值
3 * * * * 每小时的第三分钟
3 * * * 7 没周日的每小时的第三分钟
13 12 6 7 * 每年的7月6号的12:13
,: 离散时间点:
10,40 02 * * 2,5 每周二或周五的2点10分和40分
-:连续时间点:
10 02 * * 1-5:周一到周五的02:10
/#::对应取值范围内每多久一次
*/3 * * * * 每三分钟一次
扩展:
每两小时执行一次:
08 */2 * * *
每两天执行一次:
10 04 */2 * *
执行结果将以邮件形式发送给管理员
要使用cron或anacron必须确保cron或anacron是运行的
cron的环境变量:cron执行所有命令都去PATH环境变量指定的路径下去找
PATH /bin:/sbin:/usr/bin:/usr/sbin