欢迎访问昆山宝鼎软件有限公司网站! 设为首页 | 网站地图 | XML | RSS订阅 | 宝鼎邮箱 | 后台管理


新闻资讯

MENU

软件开发知识

anacron专门有一个参数START_ 图纸加密 HOURS_RANGE来设置允许执行命令的时间段

点击: 次  来源:宝鼎软件 时间:2018-04-23

原文出处: 暗无天日

anacron与cron的差异点

在网上可以可以看到许多文章都把anacron与cron来做较量,但实际上这两者之间的差距照旧蛮大的。

  1. cron任务同通过常驻的守护历程crond来按期执行的。 而anacron则不是守护历程,它需要被别人按期掉起,劳务派遣管理系统,好比跟cron或systemd timer共同
  2. crond每分钟查抄一次是否有需要执行的任务,若这次任务错过了时间则需要等下次触发点才气再次执行。 而anacron会当即执行错过期间的任务,而正是由于这个特点,为了防备在不得当的时刻执行呼吁,劳务派遣管理系统,anacron专门有一个参数START_HOURS_RANGE来配置答允执行呼吁的时间段。
  3. cron的粒度能准确到分钟,而anacron的粒度只能到天(即执行频率不能高出1天1次)
  4. cron的执行时间是很准确的. 而anacron可以配置一个延迟时间(RANDOMDELAY),anacron会在这个延迟时间内的某一个随机时间点执行。 这样做的长处在于可以让任务的执行时间分手,防备一瞬间对处事器发生太大压力。
  5. cron有多个配置任务的处所(/var/spool/cron/用户名/etc/crontab/etc/cron.d/*). 而anacron只有一个配置任务的处所(默认为 /etc/anacrontab, 也可以通过 -t 配置其他路径的设置文件)。

从上面可以看出,anacron其实并不是设计来按时执行任务的,它的主要成果照旧为了缓解cron中一瞬间大量任务并发执行而导致系统压力过大的问题。

/etc/anacrontab设置文件说明

一个 /etc/anacrontab 内容大抵如下:

cat /etc/anacrontab
# /etc/anacrontab: configuration file for anacron

# See anacron(8) and anacrontab(5) for details.

SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# the maximal random delay added to the base delay of the jobs
RANDOM_DELAY=45
# the jobs will be started during the following hours only
START_HOURS_RANGE=3-22

#period in days   delay in minutes   job-identifier   command
1 5 cron.daily    nice run-parts /etc/cron.daily
7 25  cron.weekly   nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly    nice run-parts /etc/cron.monthly

看起来跟 cron 的设置文件有点像。都是先界说情况变量,再界说执行打算。

界说情况变量的部门跟cron一样,只是这些情况变量中,有一些非凡变量值得说明一下:

  • RANDOME_DELAY=45
  • 暗示anacron在执行任务前先延时一段随记的时间再执行,这段随机的时间为0-45分钟之内的随机数。

  • START_HOURS_RANGE=3-22
  • 指定了只有在破晓3点到晚上22点这个时间段内才答允执行任务。

    界说执行打算部门就跟 cron 不同很大了。

    执行打算由四部门构成:

  • period in days
  • 循环天数,暗示任务几多天执行一次。

  • delay in minutes
  • 暗示启动Anacron和运行功课时间之间的延迟,单元为分钟. 虽然前提是自最后一次运行之后所颠末的时间超出了循环天数。 可是它并不是功课真正运行的时间,真正运行的时间还需要加上RANDOME_DELAY中配置的随机分钟数。

  • job-identifier
  • 功课的标识符。anacron在执行任务时会将日期写入 /var/spool/anacron/$job-identifier 文件中

  • command
  • 实际运行的呼吁。这里的 run-parts 是一个运行指定目次中所有措施与剧本的呼吁,昆山软件开发,可以通过 man run-parts 来查察它的说明

    anacron常用的选项

    anacron的常用选项有下面几个:

  • -t 设置文件路径
  • 让anacron从指定设置文件中读取设置,常用于普通用户来打点小我私家任务

  • -S spooldir
  • 设定新的spool目次来记录任务执行的时间戳,常用于普通用户来打点小我私家任务

  • -T
  • 测试设置文件是否正确

  • -f
  • 强制执行所有的任务,而不管之前的执行日期是否高出循环天数

  • -u
  • 将所有任务的执行日期都更新为当前日期,而不真正的执行任务

  • -s
  • 串行地执行任务,只有前一个任务完成后才开始下一个任务