centos6 crontab设置定时服务检测

1.首先写好服务检测脚本,本人简单脚本示例如下:

#!/bin/bash
function httpRequest()
{
   info=`curl -s -m 10 --connect-timeout 10 -I $1`
   code=`echo $info|grep "HTTP"|awk '{print $2}'`
   ttime=`date +"%Y-%m-%d %H:%M:%S"`
   if [ "$code" == "200" ];then
       echo "$ttime $1 请求成功,响应码是$code"
   else
       echo "$ttime $1 请求失败!!! 响应码是$code"
       echo `curl 'https://test.com/robot/' -H 'Content-Type: application/json' -d '{"msgtype": "text","text": {"content": "$i 服务无响应!"}}'`
    fi
}

urlList=("http://abc/" "http://bcd/")
for url in ${urlList[@]};
do
httpRequest $url
done

2.安装crontab

yum -y install crontabs

使用chkconfig crond on或者编辑/etc/rc.d/rc.local添加开机启动

启动crontab:service crond start

3.设置crontab定时任务

两种方式
(1)crontab -e 然后添加相应的任务,编辑方式同vim

(2)编辑/etc/crontab

命令格式

Minute Hour Day Month DayofWeek User CommandPath

Minute:每个小时的第几分钟执行该任务;取值范围0-59

Hour:每天的第几个小时执行该任务;取值范围0-23

Day:每月的第几天执行该任务;取值范围1-31

Month:每年的第几个月执行该任务;取值范围1-12

DayOfWeek:每周的第几天执行该任务;取值范围0-6,0表示星期天

User: 命令是属于哪个用户

CommandPath:指定要执行的程序路径

时间格式

* :表示任意的时刻;如小时位 * 则表示每个小时

n :表示特定的时刻;如小时位 5 就表示5时

n,m :表示特定的几个时刻;如小时位 1,10 就表示1时和10时

n-m :表示一个时间段;如小时位 1-5 就表示1到5点

*/n : 表示每隔多少个时间单位执行一次;如小时位 */1 就表示每隔1个小时执行一次命令,也可以写成 1-23/1

例如:root用户每隔5分钟执行一次脚本,并输出日志到/tmp/serverCheck.log
*/5 * * * * root /opt/software/shellscripts/serverCheck.sh >>/tmp/serverCheck.log 2>&1

4.重新读取crontab配置
service crond reload

5.查看crondtab是否执行

查看日志:/var/log/cron

如果是通过crontab -e添加的任务,则crontab -l也可列出该用户的计时器设置

crontab其它命令参数
-r 删除该用户的计时器设置 
-u <用户名称> 指定要设定计时器的用户名称

参考:

https://blog.csdn.net/d1240673769/article/details/81451922

https://blog.csdn.net/qq_33468857/article/details/81836108

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值