1、一次性的计划任务
at命令:在使用at命令之前一点要确保atd的服务是开着的。否则的话设置的计划任务不会被执行。可以使用systemctl start atd开启atd服务,systemctl enable atd开机自启。
at命令的作用:在指定的时间执行指定的命令;
用法:at 时间
选项:-m : 当计划任务执行结束后发送邮件给用户
-l : 查看用户计划任务
-d : 删除用户计划任务
-c : 查看at计划任务具体内容
案例1:指定在当天晚上22:00关机
如上图所示,shutdown -h now即为计划任务,计划任务可以有多个,输入结束后ctrl+d退出即可。
如要查看计划任务可以使用at -l查看。
使用at -c 计划任务编号 来查看编号对应的具体内容
at -d 编号 ;删除计划任务
如下图所示:
at命令的时间格式有多种,可以使用at 小时:分钟的形式,默认代表的是当天的时间;也可以使用at 2pm+2days的形式,代表的是2天后的下午2点执行计划任务;at 10:00 2018-11-27 指定年月日和日期的计划任务等。
2、周期性的计划任务
crontab命令:同样使用crontab命令前需要确保crond服务是开启的。systemctl start crond开启服务,systemctl enable crond开机自启动。
crontab [-u 用户] [-l | -r | -e]
选项:-u: 指定计划任务的用户,默认的话就是当前用户
-l : 查看计划任务
-r : 删除计划任务
-e : 编辑计划任务
-i : 使用-r删除计划任务时,要求用户确认删除
用户的cron计划任务格式如下表所示:
第一列 | 第二列 | 第三列 | 第四列 | 第五列 | 第六列 |
分 | 时 | 日 | 月 | 周 | 命令 |
24小时制,分钟范围00~59,小时范围是00~23,日期范围是1~31,月范围是1~12,周范围是0~7(0或7都用来表示周日);如果指定时间段,可以使用横杠(-)表示一段连续的时间,使用逗号(,)表示若干个不连续的时间,使用(*)号表示所有的时间,使用除号(/)表示间隔时间。
案例:为当前用户设置计划任务,内容为每周三晚10:30执行关机,每4个小时整点检查用户的登录情况。
crontab -e 编辑计划任务
crontab -l 查看计划任务
删除计划任务:crontab -r