环境

Windows11、VMware Workstation 16.2.2

系统

Red hat7.4

说明

笔记整理

部署

at命令

at命令制定一次性执行的计划任务⤵

at [选项] [执行任务的时间] [执行任务的日期]

选项:

  • -m 当at工作完成后,即使没有输出信息,也会以mail通知用户工作已完成
  • -l 显示当前正在等待执行的计划任务队列
  • -d 任务编号,删除指定编号且尚未执行的计划任务

时间指定方式有:

  • 绝对时间——HH:MM[am|pm] :如 5:30pm、17:30
  • 相对时间——now+count time-units:其中,now就是当前时间;count是时间的数量;time-units是时间单位,如minutes(分钟)、hours(小时)、days(天)、weeks(星期)。如“now+3min”表示当前系统的3分钟后
  • 模糊词语:如midnight(深夜),noon(中午),teatime(饮茶时间,一般是下午四点)等。

由于at命令依赖于atd服务,所以首先要确认系统服务atd已经启动,并开机自启:⤵

[root@jw2031-122 ~]# systemctl is-active atd
active
[root@jw2031-122 ~]# systemctl is-enabled atd
enabled

使用at命令设置一次性计划任务:⤵

[root@jw2031-122 ~]# at now+2min
at> echo "zhang" >>/tmp/date.txt #输入要执行的命令并回车
at> <EOT>
job 2 at Sun Apr 17 19:38:00 2022
[root@jw2031-122 ~]# at 23:00
at> systemctl poweroff #设置在当天17:30自动关闭系统
at> <EOT> #CTRL+D提交退出
job 3 at Sun Apr 17 23:00:00 2022
[root@jw2031-122 ~]# atq #查看对已设置但还未执行的计划任务

[root@jw2031-122 ~]# atrm 3 #删除任务编号为3的计划任务

crontab命令

使用crontab命令制定周期性执行的计划任务⤵

crontab [选项]

常用选项:

  • -e #针对当前用户或指定用户编辑计划
  • -u #用户名,指定执行计划任务的用户。
  • -l #显示当前用户或指定用户的计划任务
  • -r #删除当前用户或指定用户的计划任务

crontab命令编辑格式: