免费注册 查看新帖 |

Chinaunix

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

shell脚本被kill的原因 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-05-20 12:21 |只看该作者 |倒序浏览
是这样,我这有个脚本是会在后台运行的,会对连接数超过一定数量的ip进行屏蔽

#!/bin/bash

while [ 1 ]; do
    DATETIME=`/bin/date +%Y/%m/%d_%H:%M:%S`
    netstat -anT | grep ":3197" | grep -v "127.0.0.1\|udp\|LISTEN" | awk -F: '{print $8}' | sort | uniq -c | awk -F' ' "{if (\$1 > 10) print \$1 \"\t\" \$2}" | sort -n > /scripts/BL.txt
    for ip in `awk '{print $2}' /scripts/BL.txt`
    do
        COUNT=`grep $ip /scripts/BL.txt | awk '{print \$1}'`
        grep $ip /scripts/white.list > /dev/null 2>&1
        if [ $? -ne 0 ]; then
            if [ `iptables-save | grep $ip -c` -eq 0 ]; then
                echo -e " $DATETIME : $ip\t$COUNT" >> /scripts/BLIP.txt
                iptables -I INPUT -p tcp -s $ip -j DROP
            fi
        fi
    done
    sleep 1
done

其中white.list存在且非空,每行一个IP地址
这个脚本是以  sh  abc.sh & 的方式在后台运行,使用时发现,过一段时间后,这个脚本就会被自动kill掉,但是目前我没有找到原因,各位高手能否帮我分析一下,谢谢

论坛徽章:
0
2 [报告]
发表于 2011-05-20 12:24 |只看该作者
在刚刚被关闭的时候,ps -ef | grep abc.sh 可以看到一行
[1]+  Killed                  sh abc.sh

论坛徽章:
0
3 [报告]
发表于 2011-05-20 13:55 |只看该作者
本帖最后由 南极雨 于 2011-05-20 13:56 编辑

iptables -I INPUT  () -p tcp -s $ip -j DROP

位置呢?

论坛徽章:
0
4 [报告]
发表于 2011-05-20 14:49 |只看该作者
iptables -I INPUT  () -p tcp -s $ip -j DROP

位置呢?
南极雨 发表于 2011-05-20 13:55



  这个有什么问题么?
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       11.22.33.44          0.0.0.0/0
66933   28M RH-Firewall-1-INPUT  all  --  *      *       0.0.0.0/0            0.0.0.0/0

论坛徽章:
0
5 [报告]
发表于 2011-05-20 15:23 |只看该作者
回复 1# polokus


   没发现原因,我这边测试ok
代码中有一处语法错误COUNT=`grep $ip /scripts/BL.txt | awk '{print \$1}'`,awk中的$此处不该加转义

论坛徽章:
0
6 [报告]
发表于 2011-05-20 15:27 |只看该作者
谢谢sphlpy,
我这边也是能够正常运行,但是过了一段时间后,就会发现这个shell被kill了,但是我/var/log/message中也找不到任何关于此脚本被kill的信息

论坛徽章:
0
7 [报告]
发表于 2011-05-20 15:29 |只看该作者
谢谢sphlpy,
我这边也是能够正常运行,但是过了一段时间后,就会发现这个shell被kill了,但是我/var/log/message中也找不到任何关于此脚本被kill的信息

论坛徽章:
0
8 [报告]
发表于 2011-05-20 15:33 |只看该作者
回复 4# polokus


搞错了..这句没问题

论坛徽章:
0
9 [报告]
发表于 2011-05-20 16:08 |只看该作者
用nohup的方式运行,查看日志。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP