+ -
当前位置:首页 → 问答吧 → 怎么用wget判断网站能不能访问?

怎么用wget判断网站能不能访问?

时间:2011-05-16

来源:互联网

我想用crontab建一个任务
没分钟访问一下网站,判断这个网站能不能访问。
请问用wget实现
该怎么写?

作者: 最不爱吃鱼   发布时间: 2011-05-16

用wget 网站地址,然后用$?判断

作者: where27   发布时间: 2011-05-16



QUOTE:
用wget 网站地址,然后用$?判断
where27 发表于 2011-05-16 11:30


#!/bin/sh
wget www.baidu.com
if [test -a index.html];then
echo 可以访问 >> log.txt || rm -f index.html
else
echo 不可以访问 >> log.txt
fi
我运行这个 假如网站不能访问的时候也显示可以访问

作者: 最不爱吃鱼   发布时间: 2011-05-16

ping -c 1 ip
然后$?判断?

作者: zooyo   发布时间: 2011-05-16

回复 最不爱吃鱼

wget -S 判断http response code,一般都是200,304,301,302,其他貌似都在不正常的。

作者: expert1   发布时间: 2011-05-16

用curl

作者: xiaopan3322   发布时间: 2011-05-16



QUOTE:
回复  最不爱吃鱼

wget -S 判断http response code,一般都是200,304,301,302,其他貌似都在不正常的。 ...
expert1 发表于 2011-05-16 11:42



我的意思是假如网站可以访问的话
比如wget www.baidu.com
就会下载下来一个index.htm文件
之后在if判断是不是存在index这个文件 存在的话就在文本里记录可以访问
不存在的话就记录不可以访问
这是我写的
  1. #!/bin/sh
  2. wget www.baidu.com
  3. if [!-f index.html];then
  4.   echo 可以访问 >>log.txt
  5. else
  6.   echo 不可以访问 >>log.txt
  7. fi
复制代码
if 判断这个地方,这里该怎么写?我用-f怎么不对呢?
存在index这个文件仍然提示不能访问

作者: 最不爱吃鱼   发布时间: 2011-05-16

OK了 ,我是这样写的
  1. #!/bin/sh
  2. wget www.baidu.com
  3. dir=/home/anylinux/桌面
  4. file=$dir/index.html
  5. if [ -e $file ];then
  6.   echo `date` 可以访问 >>log.txt
  7. else
  8.   echo `date` 不可以访问 >>log.txt
  9. fi
  10. rm -f index.html.*
  11. rm -f index.html
复制代码
输出结果

anylinux@anylinux-PC:~/桌面$ cat log.txt
2011年 05月 16日 星期一 12:28:24 CST 不可以访问
2011年 05月 16日 星期一 12:28:41 CST 不可以访问
2011年 05月 16日 星期一 12:29:12 CST 不可以访问
2011年 05月 16日 星期一 12:29:26 CST 可以访问
2011年 05月 16日 星期一 12:30:11 CST 可以访问
2011年 05月 16日 星期一 12:30:30 CST 可以访问
2011年 05月 16日 星期一 12:30:57 CST 可以访问
2011年 05月 16日 星期一 12:31:12 CST 可以访问

作者: 最不爱吃鱼   发布时间: 2011-05-16

回复 最不爱吃鱼


    格式错了,[ -f file ] ,方括号内侧要加上空格

作者: where27   发布时间: 2011-05-16