所谓定时任务 就是在规定的时刻执行相应的任务
在linux下 定时任务分为 只在某一时刻执行和周期性执行
今天我们分享两个关于定时任务的命令
at
crontab
## 只执行一次
## 周期执行
只执行一次的定时任务的编写
相关命令 at
使用方法 :
创建定时任务 : at+时间 如 at 12:30
注:这个命令是交互式的
查看定时任务: at -l
删除定时任务;atrm+任务xuhao
实例:
[root@luck mail]# at 23:30 #创建计划任务
at> systemctl restart network //计划在23点30要执行的任务
at> <EOT> //要执行的任务写完之后输入 ctrl + D 结束计划编写
job 10 at Wed Dec 2 23:30:00 2020
[root@luck mail]# at -l //产看当前创建的计划任务
10 Wed Dec 2 23:30:00 2020 a root
[root@luck mail]# atrm 10 //删除创建的计划任务
[root@luck mail]# at -l #再次查看发现已经不存在了
如果我们想要创建一个周期性的计划任务 那就要使用另一个命令 crontab了,这个服务由linux系统中的cron服务提供,cron是一个守护进程,在系统启动时它就启动了 ,每分钟定期检查是否有需要执行的计划任务。
周期性执行任务的编写
需要的命令 crontab
1.crontab的用法:
2.创建、编辑计划任务的命令为“crontab -e”
3.查看当前计划任务的命令为“crontab -l”
4.删除某条计划任务的命令为“crontab -r”
5.crontab 命令中加上-u 参数来编辑他人的计划任务 注:需要时root管理员才可以
使用这条命令之前先讲下这条命令的格式 :
crond 服务设置任务的参数格式 分、时、日、月、星期 命令”
如要相应的字段没有 使用* 号代替
实例 :
[root@linuxprobe ~]# crontab -e \\输入命令后会调用vi编辑器 在里面编辑相应的计划任务
no crontab for root - using an empty one
crontab: installing new crontab
[root@linuxprobe ~]# crontab -l
25 3 * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot //使用crontab -l后我们可以查看我们编写的任务,在vi编辑器里可以 使用#写上相应的注释,方便以后查看这条计划任务是用来做什么。
关于crontab命令总结:
1.使用crontab命令创建计划任务时,如果要创建多条计划任务,应该分行写 一行写一条
2.在写时间时应注意 日和星期不能同时出现 其中一个最好用代替 否则会发生冲突,并且第一个字段分 必须有数值不能为空 或号。
3.编写计划任务时用到的命令必须使用绝对路径 绝对路径的查看方法 where + 命令 例如: where tar