一、at一次性计划任务
(1)at服务启动
at制定一次性计划任务,首先需要保证atd服务处于开启状态,否则任务不会被执行.默认at计划任务内容保存在/var/spool/at.服务启动命令:
Centos7以下系统使用:
启动:/etc/init.d/atd start
开机自启:chkconfig atd on
Centos7以上系统使用:
启动:systemctl start atd
开机自启:systemctl enable atd
(2)at命令详解
描述:在指定的时间执行特定的命令
用法:at 时间
主要参数选项:
-m:当计划任务被完成后发邮件给指定用户
-M:不发送邮件
-l:查看用户计划任务
-v:显示任务将被执行的时间,显示的时间格式为:Thu Feb 20 14:50:00 1997
-V:显示版本信息
-d:删除用户计划任务
-c:查看at计划任务具体内容
时间格式:
at 12:22:默认指定的是当天12点22分执行任务
at 3pm+5days:指的是5天后下午3点执行该任务
at 22:00 2020-04-06:指定2020年4月6日晚十点执行该任务
能够直接使用today(今天)、tomorrow(明天)来指定完成命令的时间。
Eg:
[root@test ~]# at 22:00 #指定计划任务执行时间为今晚22:00
at> reboot; #计划任务执行内容
at> <EOT> #输入多条执行内容后,使用ctrl+d结束编辑
job 3 at 2020-04-05 22:00 #系统提示有编号为2的计划任务
[root@test ~]# at -l #查看计划任务列表
3 2020-04-05 22:00 a root
[root@test ~]# at -c 3 #查看编号为3的计划任务详细内容
[root@test ~]# at -d 3 #删除编号为3的计划任务
(3)at相关文件
通过/etc/at.allow与/etc/at.deny对用户进行限制。at.allow中用户可使用,at.deny中用户不可使用。空at.deny,即所有用户都可用。
二、cron周期性计划任务
(1)crond服务启动
使用cron计划任务,需保证crond服务开启。
Centos7以下系统:
开启:service crond start
开机自启:chkconfig crond on
Centos7以上系统:
开启:systemctl start crond
开机自启:systemctl enable crond
(2)crontab命令详解
描述:为每个用户维护周期性计划任务文件
用法:crontab [选项]
主要参数:
-u:指定计划任务用户
-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除当前用户的所有任务
-i:同“-r”,但会提醒用户进行确认
(3)cron计划任务内容格式
* * * * * 执行的任务命令
第一个“*” 一小时当中的第几分钟 0‐59
第二个“*” 一天当中的第几小时 0‐23
第三个“*” 一个月当中的第几天 1‐31
第四个“*” 一年当中的第几月 1‐12
第五个“*” 一周当中的星期几 0‐7(0和7都代表星期日)
特殊符号含义:
* 代表任何时间。比如第一个“*”就代表一小时中每分钟都执行一次的意思。
,代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- 代表连续的时间范围。比如“0 5 * * 1‐6 命令”,代表在周一到周六的凌晨5点0分执行命令
*/n 代表每隔多久执行一次。比如“*/10 * * * * 命令”,代表每隔10分钟就执行一遍命令
Eg:
[root@test ~]# crontab -e #设置计划任务
[root@test ~]# crontab -l #查看当前用户计划任务列表
(4)cron相关文件
通过/etc/cron.allow与/etc/cron.deny对用户进行限制。cron.allow中用户可使用,cron.deny中用户不可使用。空cron.deny,即所有用户都可用。