67.Linux:crond和at定时任务调度

目录

一、crond任务调度

(1)定时任务的时间设定

(2)crond相关指令

二、at定时任务

(1)at定时任务指令写法

(2)at定时任务时间的设置

(3)实例


任务调度:系统在某个时间执行特定的命令或程序

任务调度分类:

1.系统工作,比如杀毒。

扫描二维码关注公众号,回复: 12618449 查看本文章

2.个别用户工作,比如备份数据库

一、crond任务调度

crond定时任务用于反复定时执行指令。

crontab [选项]

-e:编辑crontab定时任务
-l:查询crontab任务
-r:删除当前用户所有的crontab任务

(1)定时任务的时间设定

既然是定时任务,那肯定要指定什么时间执行,对于时间,我们有规定:

*/1 * * * *

第一个“*”:一个小时当中的第几分钟。默认0-59

第二个“*”:一天当中的第几小时。默认0-23

第三个“*”:一个月当中的第几天。默认1-31

第四个“*”:一年当中的第几月。1-12

第五个“*”:一周当中的星期几。默认0-7,其中0和7都表示星期日

如果不是“*”的话,又代表什么意思?

“*”:代表任何时间,比如第一个“*”就代表一个小时中每分钟都执行一次的意思

“,”:代表不连续的时间。比如“0 5,8 * * * ”命令就代表每天的5点0分,8点0分都执行一次

“-”:代表连续的时间间隔。比如“0 5 * * 1-6”命令就代表在周一到周六的凌晨5点0分执行

“* /n”:代表每隔多久执行一次。*/1 * * * *表示每隔一分钟执行一次。这个/n表示他前面这个*的执行间隔

实例1:

看到这个表示创建成功:

然后我们再来查看abc.txt就有内容了

实例2:每隔一分钟吧日期和日历追加到文件中

先写一个脚本:

编写脚本:

再写一个定时任务:

设置一下权限,他就会自己执行了:

(2)crond相关指令

#终止任务调度
crontab -r

#列出当前有哪些任务调度
crontab -l

#重启任务调度
service crond restart

二、at定时任务

(1)at定时任务指令写法

at定时任务是一次性定时任务。对任务队列里的每个任务执行一次。

注1:at的守护线程atd会以后台模式运行,检查任务队列来执行。因此执行at命令的时候一定要保证atd进程的启动

注2:默认情况下,atd守护进程每60秒检查任务队列,有任务时,再检查任务运行时间,如果匹配的上,就执行

at [选项] [时间]

-m:当制定的任务被完成后,将给用户发送邮件,即使没有标准输出
-I:atq的别名
-d:atm的别名
-v:显示任务将被执行的时间
-c:打印任务的内容到标准输出
-V:显示版本信息
-q<队列>:使用指定的队列
-f<文件>:从指定文件读入任务而不是从标准输入读入
-t<时间参数>:以时间参数的形式提交要运行的任务

Ctrl + D:结束at命令的输入

atrm atm编号:删除at任务

ps -ef | grep atd:查看atd进程

 

(2)at定时任务时间的设置

*1)hh:mm(小时:分钟)。比如04:00

*2)midnight:深夜。noon:中午。teatime:下午4点左右

*3)12小时计时制。即时间后面加AM(上午)或者PM(下午)

*4)指定命令执行的具体日期。比如mm/dd/yy,dd.mm.yy等

*5)相对计时法。now+count time-units。其中now是当前时间,time-units是时间单位,可以是miniutes,hours,days,weeks

*6)直接使用today,tomorrow

(3)实例

实例一:两天后的下午5点执行 /bin/ls /home

输入完之后按两次Ctrl+D,会显示这个:

实例二:删除已经设置的任务

猜你喜欢

转载自blog.csdn.net/qq_40594696/article/details/113944912
今日推荐