Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1021519
  • 博文数量: 584
  • 博客积分: 2293
  • 博客等级: 大尉
  • 技术积分: 3045
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-28 11:15
文章分类

全部博文(584)

文章存档

2012年(532)

2011年(47)

2009年(5)

我的朋友

分类:

2012-08-24 16:05:25

配置每天8点到21点(需要24小时待命的无视这个)每隔5分钟执行一次检测
/etc/crontab新增一条:
*/5 8-21 * * * root /usr/jobdir/job.sh

这里我使用了curl,也可以使用ping,curl需要到/usr/ports/ftp/curl下进行make安装
crontab中要注意path变量(系统能否找到curl? curl路径  /usr/local/bin ),用户权限等问题

点击(此处)折叠或打开

  1. [personball@freebsd ~]$ cd /usr/jobdir/
  2. [personball@freebsd /usr/jobdir]$ ls
  3. URL.list alive.sh job.sh
  4. [personball@freebsd /usr/jobdir]$
job.sh

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #FileName: job.sh
  3. #Author: personball
  4. #Date: 2012-8-13
  5. while read url
  6. do
  7. ./alive.sh $url &
  8. done
  9. exit 0

alive.sh

点击(此处)折叠或打开

  1. #!/bin/bash
  2. #FileName:alive.sh
  3. #Author:personball
  4. #Date:2012-8-13
  5. if [ $# -ne 1 ]
  6. then
  7. echo "Usage:$0 URL"
  8. exit 1
  9. fi
  10. url=$1
  11. curl -I --connect-timeout 60 -m 60 $url >/tmp/alive.$$ 2>/dev/null  #检测目标
  12. if grep 'HTTP/1.1 200 OK' /tmp/alive.$$ &>/dev/null
  13. then
  14. echo $1" OK!" >>/var/log/alive.log
  15. else
  16. echo $1" Sick!">>/var/log/alive.log
  17. #curl -I ''$1"_is_sick" &>/dev/null  #短信报警
  18. fi
  19. exit 0
URL.list

点击(此处)折叠或打开



阅读(1016) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~