Linux之crontab定时执行脚本方式
crontab定时执行脚本
不废话,直接上你要的:
如框框内所示,该命令表示每十分钟执行一次该目录下的脚本文件,即 /home/alan/test1.sh
Ok,现在具体讲一下命令为何这么写。
一、什么是crond,什么又是crontab
首先crond是linux系统中用来定期执行命令的一种服务。当编写完命令后,系统便会启动crond任务调度命令,crond会每分钟定期检查是否要执行的工作,如果要执行的工作便会自动执行该工作。crond服务就像闹钟一样。
而crontab是用于设置周期性被执行的指令,该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取与执行。
说白了,就是crond服务需要通过crontab去实现。
crontab命令格式
选项 | 说明 |
---|---|
-u user | 用于设定某个用户的定时任务 |
file | file为命令文件名,表示将file作为crontab的任务列表文件并载入crontab |
-e | 编辑某个用户的定时任务,如不指定用户则表示当前用户 |
-l | 显示某个用户的定时任务,如不指定用户则表示当前用户 |
-r | 删除某个用户的定时任务,如不指定用户则表示当前用户 |
-i | 在除某个用户的定时任务时给确认提示 |
二、安装crond
1.首先检查是否安装过crond
?1 | yum list installed | grep "crond" |
2.安装crond (centos 7)
-
systemctl status crond
:查看 crond 服务状态。 -
systemctl start crond
:启动 crond 服务。 -
systemctl stop crond
:关闭 crond 服务。 -
systemctl restart crond
:重启 crond 服务。 -
systemctl reload crond
:重新载入 crond 服务。
如果是centos 7 以下版本,则写成 service crond status/start/....即可。
三、如何使用crontab
如图所示:
除过#注释符,从左到右总共有五个*号,分别代表分钟,小时,几号,月份,星期几。
在后面跟的是执行任务的用户,后面跟的是执行的命令或者脚本文件(脚本文件需要带上绝对路径目录哦,比如我的就是/home/alan/test1.sh)
星号具体含义及范围(从左到右):
星号 | 含义 | 时间范围 |
---|---|---|
* | 一小时当中的第几分钟(minute) | 0-59 |
* | 一天当中的第几小时(hour) | 0-23 |
* | 一个月当中的第几天(day) | 1-31 |
* | 一年当中的第几个月(month) | 1-12 |
* | 一周当中的星期几(week) | 0-7(0和7都代表星期日) |
除*外还有些其他符号有特殊含义哦
比如:
符号 | 含义 | 说明 |
---|---|---|
*(星号) | 表示任意时间 | * 6 * * * :表示每天6点的每分钟都执行一次命令 |
,(逗号) | 用逗号隔开表示该字段的取值 | 10 8,9,10,* * * :表示在每天8:10,9:10,10:10都执行一遍命令 |
-(中杆) | 表示两个整数之间的取值范围 | * 6 * * 1-2 :表示每周一至周二的6点执行命令 |
/(正斜杠) | 表示间隔多久执行一次 | */10 * * * * : 表示每隔十分钟就执行一次命令 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/HJersey/article/details/126461728
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。