本周遇到了一个问题,那就是线上有个进程不知道什么原因,总是自动的停止,在问题还没有找到之前,需要在Linux服务器上写一个定时任务,当进程停止的时候,重启服务。这里总结下如何在服务器上编写定时任务。
编写定时任务需要crontab命令的支持,下面的命令可以检查是否安装了crontab命令:
rpm -qa | grep crontab
如果安装了则会打印出crontab的版本,如果没安装,请自行安装。
安装好了之后使用:
/sbin/service crond status
查看crond是否在运行,如果没有的话,使用:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
下面我们介绍如何编写cron命令来使用定时任务,首先介绍下定时任务的语法,
* * * * * 要执行的任务
crontab语法格式中时间段的含义如下表
段 含义 取值范围(整数)
第一段 代表分钟 00 – 59 (00也可以是0)
第二段 代表小时 00 – 23
第三段 代表日,天 01 – 31
第四段 代表月份 01 – 12
第五段 代表星期,周几 0 -7(0和7都代表星期日)
知道了定时任务的语法之后,我们就可以编写定时任务了,如果我每5分钟要执行一个test.sh的脚本,这个脚本在/home/script下,那么使用crontab -e,然后写入:
0/5 * * * * sh /home/script/test.sh
这样就在服务器上启动了一个每5分钟执行脚本的定时任务,那么如何查看服务器上所有的定时任务呢?使用crontab -l,可以把所有的定时任务都展示出来。
网友评论