1.计划任务
1.1一次性计划
一次性计划任务只执行一次,一般用于临时的工作需求。用at命令实现这种功能,只需要写成“at 时间”的形式就行。如果想要查看已设置好但还未执行的一次性计划任务,可以使用“at -l”命令;要想将其删除,可以用“atrm 任务序号”。
at命令的参数及其作用
参数 | 作用 |
-f | 指定包含命令的任务文件 |
-q | 指定新任务名称 |
-l | 显示待执行任务列表 |
-d | 删除指定待执行任务 |
-m | 任务执行后给用户发邮件 |
例如:
[root@linux ~]# at 23:30
warning: commands will be executed using /bin/sh
at> systemctl restart httpd
at> 此处请同时按下<Ctrl>+<d>键来结束编写计划任务
job 1 at Wed Oct 14 23:30:00 2020
[root@linux ~]# at -l
1 Wed Oct 14 23:30:00 2020 a root
还有种特殊场景——把计划任务写入到Shell脚本中,当用户激活后再开始倒计时执行,而不是像上面那样“at 23:30”固定的时间,该怎么办呢?
一般会使用“at now +2 MINUTE”的方式操作,这样代表2分钟(MINUTE)后执行这个任务,也可以替代成小时(HOUR)、日(DAY)、月(MONTH)等词汇:
[root@linux ~]# at now +2 MINUTE
warning: commands will be executed using /bin/sh
at> systemctl restart httpd
at> 此处请同时按下<Ctrl>+<d>键来结束编写计划任务
job 3 at Wed Oct 14 22:50:00 2020
1.2可重复性任务
Linux系统能够周期性地、有规律地执行某些具体的任务,那么Linux系统中默认启用的crond服务简直再适合不过了。创建、编辑计划任务的命令为“crontab -e”,查看当前计划任务的命令为“crontab -l”,删除某条计划任务的命令为“crontab -r”。另外,如果您是以管理员的身份登录的系统,还可以在crontab命令中加上-u参数来编辑他人的计划任务。
crontab命令的参数及其作用
参数 | 作用 |
-e | 编辑计划任务 |
-u | 指定用户名称 |
-l | 列出任务列表 |
-r | 删除计划任务 |
口诀“分、时、日、月、星期 命令”。这是使用crond服务设置任务的参数格式。需要注意的是,如果有些字段没有被设置,则需要使用星号(*)占位。
使用crond设置任务的参数格式
使用crond设置任务的参数字段说明