在Linux的运维中,我们经常会使用到计划任务,所谓计划任务就是在某个时间让计算机做某件事情。我们可以将计划任务分为一次性的调度执行和循环调度执行。
一、一次性调度执行
一次性调度执行在实际情况中使用少于循环调度执行。在Linux操作系统中使用at
在at>我们就可以之间输入我们想要的命令了,输入完成后使用CTRL+D即可退出。下面我们举个例子:
那么我们如何查询计算机中的计划任务呢?使用atq命令即可。当计划任务完成后,系统会通过邮件来通知我们。
二、循环调度执行
说到循环调度执行cron就不得不说crontab,crontab是一个命令,常见于Linux操作系统中,用于设置周期性的执行某写命令。该命令会从标准输入设备读取指令,并存放到crontab文件中,从而进行读取和执行。
首先我们要确保crond程序正在运行,可以通过systemctl status crond 命令来查询crond状态。、
其次我们要知道计划任务存储的位置:/etc/spool/cron
接下来我们来了解循环调度任务的管理方式
创建计划:crontab -e 这里要注意计划是基于用户的,当前用户编辑的任务,其他用户无法查询。当然root可以通过crontab -u 来管理其他用户的计划任务。当输入crontab -e后我们会进入一个编辑界面,输入即可。
查询计划:crontab -l
删除计划:crontab -r
我们还需要明白创建计划的语法格式
其语法格式为:* * * * * command,即时间+命令,这五个*分别代表分时日月周。当对应的位置为*时表示该位置的每个时间都执行。例如:
0 2 * * * ls 每月每天的每天两点执行ls命令
其中还有一些特殊含义的表示如:*/ 表示每隔多长时间;x-x多久到多久
注意正常情况下,我们要么说那个月的那天那小时那分钟,要么就是那周的那小时那分钟;如果周和月天同时出现,他们之间是且的关系,即这个周和这个月天都执行。
来源地址:https://blog.csdn.net/weixin_50308537/article/details/128680157