例行性工作(crontab)

at

所属服务atd
at所执行的任务写入/var/spool/at文本中
使用者账户限制,/etc/at.allow文件中的账户可以使用at,不存在的账户不能使用;/etc/at.deny中的账户不能使用at,不存在的账户可以使用;如果两个文件都不存在,只有root可以使用at
at [-mldv] TIME
at -c 任务号码
       -m:at任务完成后以email通知使用者
       -l:相当于 atq,列出系统上所有的at任务
       -d:相当于 atrm,取消一个at任务
       -v:写出任务的工作列表
       -c:列出at任务的实际命令内容
       TIME:时间格式,定义任务执行的时间
               HH:MM 离当前之间的最近的这个时间执行(当前时间未超过该时间点则当日执行,超过该时间则次日时间点执行)
               HH:MM YYYY-MM-DD 在确定的某个时间点执行
               HH:MM[am|pm] [Month] [Date] 在确定的某个时间点执行
               HH:MM[am|pm] + number [minutes|hours|days|weeks] 在某个时间点之后的一段时间执行

atq 列出所有at任务
atrm 任务号码 删除某个任务

batch
系统有空才执行的背景任务。CPU工作负载小于0.8才执行任务。工作负载:CPU在单位时间执行的工作数量
 

crontab

使用者账户限制,/etc/cron.allow文件中的账户可以使用at,不存在的账户不能使用;/etc/cron.deny中的账户不能使用at,不存在的账户可以使用;

crontab [-u 账户] [-l|-e|-r]
       -u:仅root账户使用,管理其他账户的crontab任务
       -l:查看当前账户crontab任务
       -e:编辑crontab任务
       -r:删除所有crontab任务
       工作任务格式:

字段意义    分钟    小时    日期    月份    周    指令
范围    0-59    0-23    1-31    1-12    0-7    执行命令
       周字段里,0和7都代表周日,周和日月不可同时并存
       

特殊字符    意义
*    代表所有可能值
,    分段
-    范围
/n    n为数字,代表每间隔n单位间隔
相关配置文件/etc/crontab,/etc/corn.d/*
       crontab -e是使用者的编辑命令,要修改系统任务,则编辑/etc/crontab文件
       字段和crontab -e有所不用,有七个字段"分 时 日 月 周 用户 命令",其中用户为执行命令的账户
       cron服务的配置文件有/etc/crontab、/etc/cron.d/*、/var/spool/cron/*,其中/var/spool/cron/*跟用户配置相关,其余跟系统任务配置相关
/etc/cron.hourly/里面的可执行文件每小时被crond执行一次,/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly被anacron执行anacron执行方式则是放在/etc/cron.hourly/0anacron里面,跟前几代anacron是单独的service不一样。
               
anacron

可唤醒停机期间的工作任务
anacron处理非24小时启动的linux系统的crontab执行,以及某些原因导致的超过时间而没有执行的调度任务。
anacron每个小时被crond执行一次,然后anacron再去检测相关任务有没有执行,如果有超过期限的任务存在,则执行相关任务,执行完后则停止。通过检测上次执行时间戳来发现是否超时未执行。
anacron是一支程序并非服务
anacron [-sfn] [job]
anacron -u [job]
       -s:开始已连续的执行各项工作,会根据时间戳判断是否要执行
       -f:强制执行,不检测时间戳
       -n:立刻执行,不延迟
       -u:仅更新时间戳,不执行工作
       job:由/etc/anacron定义的各项工作名称

/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
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值