1、周期性任务计划:

 管理系统的过程中,我们并不是每次都直接执行脚本或者命令,有时候需要让脚本、命令以及系统等在指定的时间按照我们的意愿执行我们设定好的脚本或者命令,这时候就需要使用到Linux任务计划的功能了,但是如果制定了Linux任务计划但是由于某些特殊原因任务计划没有能够被执行又该怎么办呢?anacrontab可以解决这个问题,它可以在服务器出现故障后,下次重新进入系统后在指定的时间为我们自动执行之前的的未被执行的任务。

2、Linux有三种计划任务:

 1)at:指定一个时间执行一个任务(适用于一个或多个任务,执行一次)

 2)cron:根据一个时间表自动执行任务(适用于一个或多个任务,周期性执行)

 3)anacron:在一个指定的时间自动执行之前错过的未被执行的任务

3、命令格式:

at:一次任务执行:

  at交互式:

  at TIME:指定执行任务的时间

  at>:输入要执行的命令

  ctrl+d:提交要执行的任务

  at -l:查看作业队列

  atq:查看作业队列

  at -d:删除一个尚未执行的作业

  atrm:删除一个尚未执行的作业

  at批处理:

  at -f /path/to/at_job_file Time:通过文件调用来执行命令

  TIME:时间的使用格式如下图:

  TIME可以使用模糊时间:now,noon,midnight,teatime,tomorrow

wKiom1MacLKCZ4KmAAMhOgJvvyM762.jpgat执行的命令结果会通过调用mail命令发送给任务提交者,默认设置为root用户。

周期性任务计划:cron

用户cron:/var/spool/cron/UserName

cron的守护进程为crond

wKioL1MadQeyFrlxAADAm7fh5bU984.jpg

cron的配置文件:/etc/crontab

wKiom1Mad1WSJouXAAHPN29A8SA618.jpg

时间表示法:

 1)每个时间位都应该使用其可有的有效取值范围内的值

 2)某时间位上的*表示对应位的所有有效的取值

 3)-:连续的时间相邻点取值

 4),:离散的时间点取值

 5)/#:表示在指定的时间范围内每隔#时间执行一次

cron的常用选项:

 1)-l:查看自己的cron任务列表

 2)-e:通过变量中定义的编辑器打开用户自己的cron配置文件,编辑单独的任务都是用-e选项

 3)-u UserName:为别的用户配置crontab作业

anacron:最小刻度是天

anacron是crontab的补充,用于检查crontab中某任务的在过去的一个周期内是否没有执行,如果没有自执行,则在开机以后的某时间点让你执行一次,无论其周期是否到达,一般不用更改,保持默认即可。

4、实现事例:

wKioL1MafFfwf-GyAAMli-4llf8793.jpg

cron:

wKiom1MagHvxYxO0AAIt6WJbtuM844.jpg

5、温馨提醒:如果在crontab的用户命令中使用%,需要转义为\%,在使用单引号后,%可以不用转义。