⛓️13、定时计划任务
00 分钟
2024-3-14
2024-6-25
type
status
date
slug
summary
tags
category
icon
password
文章状态
定时计划任务
一、定时计划任务类型
一种是突发性的,临时决定只执行一次的任务;
一种是定时性的,每隔一定的时间周期就需要重复执行一次的任务。
二、常见定时计划任务设置
(一)at命令
作用:可以设置仅执行一次就结束的定时计划任务
格式:at [时间点]
1.1 准备工作
·启动atd服务 → systemctl start atd
·查看atd运行状态 → systemctl status atd
·查看atd是否开机启动 → systemctl is-enabled atd
1.2 创建定时计划任务
·设置11:45的定时计划任务
[root@localhost ~]# at 11:45
at> mkdir /root/test.d
at> touch /root/test.d/renwu1
at> <EOT>
# 交互式输入(*存在顺序);退出组合键:Ctrl+d
# at定时计划任务其他写法
·设置某天 → at 20:00 2022-10-1
·设置10分钟后 → at now +10min
·设置明天下午5点 → at 17:00 tomorrow
·设置三天后的下午6点执行 → at 6:00 pm +3 days
  • 使用重定向方式写入 → at 23:00 <a.txt # 非交互式创建
1.3 查看和删除定时计划任务 # 只可用于还未执行的任务
A. 列出查看所有定时计划任务
① at -l ② atq
[root@localhost ~]# atq
1 Sun Mar 17 11:00:00 2024 a root
B. 查看某定时计划任务内容
① at -c [任务编号] 根据任务编号查看具体任务内容
② ls /var/spool/at 根据路径查看任务文件具体内容
# 可使用tail -5 /var/spool/at/文件名 忽略搭环境内容,只查看命令;
# 每个at定时计划任务均在此路径下对应创建一个可执行文件!
C. 删除定时计划任务
① atrm命令 格式:atrm [-任务编号]
② rm-rf /var/spool/at/文件名 直接删除对应的任务文件(root用户)
(二)crontab命令
作用:设置固定周期一直循环执行的工作或任务
格式:crontab [选项]
选项:-e 编辑cron定时计划任务
-l 查看当前用户cron定时计划任务
  • u 设置cron用户
  • r 删除当前用户cron定时计划任务
2.1 准备工作 # 服务名为crond,命令是crontab
·启动crond服务 → systemctl start crond
·查看crond运行状态 → systemctl status crond
·查看atd是否开机启动 → systemctl is-enabled crond
2.1、创建、查看、删除用户定时计划任务
A. 添加定时计划任务
crontab -e
分 时 日 月 周 CMD
# 特殊符号含义
  • 代表取值范围内的数字
/ 指定时间间隔频率
  • 代表从某个数字到某个数字
,分开几个离散的数字
B. 查看定时计划任务
① crontab -l 查看当前用户的定时计划任务
crontab -u bin -l 根据用户查看定时计划任务(root)
② vim /var/spool/cron/用户名 根据路径查看任务文件具体内容(root)
C. 删除计划任务
① crontab -r
② vim /var/spool/cron/用户名 删除任务文件中的任务内容(root)
# 每个cron用户均在此路径下对应创建一个文件,所属的每个cron定时计划任务在文件中被记录!
2.3、管理系统定时计划任务
路径:/etc/crontab
↑系统任务调度的配置文件,可直接添加任务。
[root@localhost ~]# ls /etc/cron
cron.d/ cron.daily/ cron.deny cron.hourly/ cron.monthly/ crontab cron.weekly/
# 可将按小时、天、周、月执行且拥有可执行权限的脚本保存到指定目录下。
三、at与cron的黑白名单
/etc/at.deny → at黑名单,默认存在
/etc/cron.deny → cron黑名单,默认存在
/etc/at.allow → at白名单,默认不存在
/etc/cron.allow → cron白名单,默认不存在
# 若发生冲突,白名单优先级更高!
上一篇
12、进程管理
下一篇
14、日志管理