Chinaunix首页 | 论坛 | 博客
  • 博客访问: 532374
  • 博文数量: 39
  • 博客积分: 1046
  • 博客等级: 准尉
  • 技术积分: 895
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-10 16:50
文章分类

全部博文(39)

文章存档

2013年(8)

2012年(31)

分类: BSD

2012-08-23 10:20:15

配置每天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

点击(此处)折叠或打开



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