免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4383 | 回复: 7
打印 上一主题 下一主题

[系统管理] 一次奇怪的CURL调用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-26 11:35 |只看该作者 |倒序浏览
本帖最后由 mfkwwgi 于 2013-12-26 22:02 编辑

脚本如下,
#!/bin/bash
source /etc/profile
source ~/.bash_profile

localPath=$(cd $(dirname $0);pwd)
log=${localPath}/log

function Test()
{
        if [ ! -z "$(curl -I http://localhost/index.html  | grep 'HTTP/1.1 200 OK')" ]; then
                echo $1 yes >> $log
        else
                echo $1 no >> $log
        fi

}

i=1
while [ $i -lt 5 ]
do
        Test $i
        let i++
done

每次运行都是:
1 yes
2 yes
3 yes
4 no
结果!!换一台服务器就正常。
在function里面调用curl超3次都失败。
这可怎么调试呢?

论坛徽章:
0
2 [报告]
发表于 2013-12-26 13:16 |只看该作者
服务器防DDOS导致?
while中为两次循环增加时间间隔?

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
3 [报告]
发表于 2013-12-26 13:17 |只看该作者
sh -x file.sh

论坛徽章:
0
4 [报告]
发表于 2013-12-26 14:26 |只看该作者
回复 2# 鬼剑士之王


    之前也猜想是,sleep 1难道是时间太短了。我加长点试试。

论坛徽章:
0
5 [报告]
发表于 2013-12-26 14:34 |只看该作者
回复 3# 这个冬天不冷


    是放在crontab里面在执行,我试过,我还将sh -x xx.sh > /tmp/a
我查看/tmp/a里面是空白的。

论坛徽章:
0
6 [报告]
发表于 2013-12-26 14:52 |只看该作者
回复 2# 鬼剑士之王


    两次间隔30秒了
        sleep 30
还是前三次成功。后面失败。

论坛徽章:
0
7 [报告]
发表于 2013-12-26 16:56 |只看该作者
回复 2# 鬼剑士之王


    更新奇怪的事,手动sh a.sh是
1 yes
2 yes
3 yes
4 yes

将a.sh放入crontab里面就
1 yes
2 yes
3 yes
4 no
了。

论坛徽章:
0
8 [报告]
发表于 2013-12-26 23:22 |只看该作者
回复 7# mfkwwgi

将curl结果写到一个文件中,检查实际获取到的数据。
并写入当前date,检查sleep是否如期执行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP