计划任务管理

一、计划任务概述

1.计划任务类别

一次性计划任务

−在预先指定的日期/时间执行,只执行一次

−系统服务atd、配置工具at

周期性计划任务

−按预先指定的时间点/间隔频率执行,反复执行多次

−系统服务crond、配置工具crontab

2.计划任务的授权

默认情况下,任何用户都可以安排各自的任务

但在必要时,管理员可以启用授权控制

−at 任务:/etc/at.allow、/etc/at.deny

−cron任务:/etc/cron.allow、/etc/cron.deny

[root@hadoop ~]# ls /etc/{at,cron}*.{allow,deny}
ls: cannot access /etc/at*.allow: No such file or directory
ls: cannot access /etc/cron*.allow: No such file or directory
/etc/at.deny  /etc/cron.deny

1. 如果allow文件存在,则仅允许指定的用户

2. 否则检查deny文件,除指定用户外其余都允许

3. 如果两个文件都不存在,则只允许root使用 

二、at一次性计划任务

1.at任务机制

atd服务相关

−需要启用atd服务,一次性计划任务才会生效

−任务存放位置:/var/spool/at/用户名

配置at任务

−用法:at [HH:MM] [yyyy-mm-dd]

2.添加at一次性任务

[root@hadoop ~]# service atd restart
Stopping atd:                                              [  OK  ]
Starting atd:                                              [  OK  ]
[root@hadoop ~]# at 19:37 2202-08-15    //按Ctrl+d键提交计划

 任务需求

−计划于当前晚上21:30 自动重启系统

[root@hadoop ~]# at 21:30    //定于21:30重启系统

3.查询at一次性任务

任务需求

−查询尚未执行的at 一次性计划任务

[root@hadoop ~]# atq    //列出at任务队列
[root@hadoop ~]# at -c 2    //查询任务2详情(末尾)

4.删除at一次性任务

任务需求

−删除指定的at 一次性计划任务

[root@hadoop ~]# atrm 2    //删除指定的计划
[root@hadoop ~]# atq    //再次查询,任务已消失

三、crontab周期性任务

1.crontab任务机制

crond服务相关

−需要启用crond 服务,周期性计划任务才会生效

−任务存放位置:/var/spool/cron/用户名

默认的计划任务

−全局配置:/etc/crontab

−系统计划:/etc/cron.*

[root@hadoop ~]# ls -d /etc/cron*
/etc/cron.d  /etc/cron.daily  /etc/cron.deny

2.crontab配置记录格式

参考全局配置/etc/crontab

−分钟小时日期月份星期可执行语句

3.任务时间点范例

四、周期性任务实例

1.管理crontab任务记录

编辑周期性计划任务

−crontab-e [-u 用户名]

查看周期性计划任务

−crontab-l [-u 用户名]

删除周期性计划任务

−crontab-r [-u 用户名]

2.crontab配置实例

任务需求

−每天早上07:30 开启sshd服务

−每天晚上23:30 关闭sshd服务

五、anacron任务补做机制

1.anacron工作机制

适合不需要24小时持续运行的主机

−任务周期:每小时检查一次,最近x天以内的任务

−由crond服务调度检查,执行被错过的任务操作

2.anacron配置解析

任务记录文件

−位于/var/spool/anacron/任务名称,其中记录了此任务最近一次被执行的日期,以判断是否过期−比如:对于每周的任务,如果记录的日期与当前的日期相差超过7天,则需要补做 

[root@hadoop ~]# cat /var/spool/anacron/cron.weekly
20220426

六、anacron配置实例

1.案例需求及实现

任务需求

−每天执行:备份/home 目录为/opt/home.tgz

−如果错过了,则延迟3分钟后补做

2.验证案例效果

自动测试:由crond服务每小时检查一次

手动测试:anacron-n

[root@hadoop ~]# anacron -n    //手动检查anacron任务
[root@hadoop ~]# cat /var/spool/anacron/anatest    //确认执行日期
[root@hadoop ~]# ls -lh /opt/abc.txt    //确认任务结果

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lambda-小张

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值