Linux运维-定时任务与延时任务

Anna ·
更新时间:2024-11-13
· 759 次阅读

为什么要用定时与延时任务?

很多运维任务都是在凌晨完成的,如果运维工程师每天都是凌晨干活,那么用不了多久,运维工程师就挂掉了!所以学习定时与延时任务很有必要。

【19年秋招大疆运维工程师笔试题】

11月份每天早上6点-12点之间,每隔两个小时执行脚本httpd.sh

* 6-12/2 * 11 * sh httpd.sh 一.定时任务 1.crond 定时任务服务 2.crond的设定方式

①命令设定方式: 用户级别定时任务

crontab -u root -e ##设定 crontab -u root -l ##查看 crontab -u root -r ##删除 /var/spool/cron/root ##任务存储位置

时间任务

分钟 小时 日 月 周系统命令|脚本 08-17 * * * * ##每天每小时08分-17分 08-17 * * * 3,5 ##每周3和周五每小时08分-17分 08-17/2 * * * 3,5 ##每周3和周五每小时08分-17分时间段每隔2分钟 08-17/2 10 * * 3,5 ##每周3和周五10点08分-17分时间段每隔2分钟 08-17/2 10 5 * 3,5 ##每周3和周五及每月5号10点08分-17分时间段每隔2分钟 08-17/2 10 5 3 3,5 ##3月每周3和周五及3月5号10点08分-17分时间段每隔2分钟

②配置文件方式设定: 系统级别cron,只有超级用户可操作

/etc/cron.d ##系统级别cron设定文件存放路径 vim /etc/cron.d/westos ##cron设定文件 时间 用户动作 * * * * * root rm -fr /mnt/* /etc/cron.daily/ ##每天任务 /etc/cron.hourly/ ##每小时任务 /etc/cron.monthly/ ##每月任务 /etc/cron.weekly/ ##每周执行动作 3.用户级别crond控制设定 vim /etc/cron.deny ##cron用户控制黑名单,此名单中的人不能执行cron命令 vim /etc/cron.allow ##cron白名单,此文件默认不存在 ##当此文件存在时cron.deny不生效 ##当此文件存在,系统普通用户默认不能执行cron,只有在名单中才可以 二.延时任务

1.延迟任务的发起

at 10:10 > rm -fr /mnt/* ##执行内容 >[ctrl]+[d] ##任务发起 at -l ##查看任务队列 at -c 任务号 ##查看任务内容 at -r 任务号 ##取消任务

2.当延迟任务有输出,输出会以邮件形式发送到任务发起者邮箱中

yum install mailx postfix systemctl start postfix systemctl enable postifx mail -u root ##查看root用户的邮件 No mail for root ##root用户没有邮件 > /var/mail/root ##清空root邮件 at 10:30 >timedatectl ##此命令有输出但不会显示到字符设备中 ##此命令输出会用邮件发送给at发起人 [root@rhel8_node1 ~]# mail -u root Heirloom Mail version 12.5 7/5/10. Type ? for help. "/var/mail/root": 1 message 1 new >N 1 root Sat Feb 22 10:27 27/1226 "Output from your job " ##at输出邮件 & 1 ##输入邮件编号查看 &q #退出

3.at命令的控制

/etc/at.deny ##at控制黑名单,此名单中的人不能执行at /etc/at.allow ##此文件默认不存在 ##当此文件存在/etc/at.deny不生效 ##当此文件存在系统普通用户默认不能执行at,只有在名单中的人可以
作者:chaos_oper



定时任务 Linux linux运维

需要 登录 后方可回复, 如果你还没有账号请 注册新账号