Linux基础---计划任务之一次性计划任务(at)和周期性计划任务(crontab)

知识要点

  • 计划任务的意义
  • 计划任务分类
  • 用户计划任务crontab
  • 系统计划任务
  • 计划任务使用注意事项
  • anacron服务介绍

计划任务的意义

计划任务

  • 创建和管理在指定时间自动执行的任务
    注意事项
  • 要使任务计划在指定时间自动运行,计划任务的服务必须是启动的
    计划任务分类
  • 使用at命令调用atd进程设置在某个特定的时间,执行一次性任务
  • 使用crontab命令调用crond进程,设置按固定的周期(如每天、每周等)重复执行预先计划好的任务

一次性计划任务

at命令

  • 在指定的日期、时间点自动执行预先设置的一些命令操作,属于一次性计划任务
  • 系统服务的名称:/etc/init.d/atd
  • 设置格式:at [HH:MM] [yyyy-mm-dd]
    Linux基础---计划任务之一次性计划任务(at)和周期性计划任务(crontab)_第1张图片
    at -c 任务号
    查看计划任务的具体内容
    atq命令
    用途:查询当前设置的at任务列表
    同at -l
    atrm命令:
    用途:删除指定任务编号的at任务
    格式:atrm 编号
    同 at -d

at命令常用时间格式:

  • at [HH:MM]
  • at [HH:MM] [yyyy-mm-dd]
  • at now + 数字 [minutes|hours|days|weeks]

at 时间 -f 文件

  • 使用文件中的命令作为计划任务

  • at now + 5 minutes -f /root/test.sh
    at计划任务文件位置

  • /var/spool/at/a开头的文件,任务执行完毕,文件消失

  • /etc/at.deny :只有该名单里面的人不可以使用

  • /etc/at.allow :只有该名单里面的人可以使用

crontab命令(周期计划任务)

  • 按照预先设置的时间周期(分钟、小时、天……)重复执行用户指定的命令操作,属于周期性计划任务
  • 服务名称:/etc/init.d/crond
  • 主要设置文件
  • 用户定义的设置,位于文件:/var/spool/cron/用户名

配置文件的通常包含三个部分

  • 注释
  • 环境变量
  • cron命令

cron服务配置文件
位于文件:/etc/crontab
系统cron就在该文件定义,是为了维护系统能够正常运行的,任务的格式也和用户cron有点不同,多了一个username
管理cron计划任务
编辑计划任务:crontab -e [-u 用户名]
查看计划任务:crontab -l [-u 用户名]
删除计划任务:crontab -r [-u 用户名]

Linux基础---计划任务之一次性计划任务(at)和周期性计划任务(crontab)_第2张图片
在这里插入图片描述
Linux基础---计划任务之一次性计划任务(at)和周期性计划任务(crontab)_第3张图片

周期计划任务注意事项

资源分配不均
多个计划任务同时运行
安全检查
防止有非法计划任务
周和日、月不可同时并存
容易导致计划任务时间混乱

anacron程序介绍

anacron程序

  • 弥补cron在系统关机后不能执行计划任务的问题
  • 不能替代cron
  • 会每个小时被执行一次,脚本在/etc/cron.hourly
  • 按天、周或月为单位去检查系统未进行的cron任务
  • /var/spool/anacron
  • 服务名称:/etc/init.d/anacrond
  • 开机时自动运行,然后将未执行的计划任务执行一遍后,anacron 就会自动停止

你可能感兴趣的:(linux)