- 论坛徽章:
- 0
|
明白了,竟然是多了个空格:- MAX_TRYS_PERMINUTE=1
- SAVE_FILE=log
- TAIL_LINES=500
- [ -f $SAVE_FILE ] && CONTENT_CMD="tail -${TAIL_LINES} /var/log/secure" || CONTENT_CMD="cat /var/log/secure"
- ${CONTENT_CMD} |grep 'Authentication failure' |awk '
- function banIP(pIP){
-
- print "iptables -A INPUT -s " pIP " -j DROP";
- }
- {
- # $10 为 ip,$3 为时间 hh:mm:ss 格式,根据实际情况修改
- key = $10 "," substr($3, 1, 5);
- fails[key]++;
- }
- END {
- for (key in fails) if (fails[key] > maxTrys){
-
- split(key, arr, ",");
- banIP(arr[1]);
- }
- }
- ' maxTrys=$MAX_TRYS_PERMINUTE |tee -a $SAVE_FILE
复制代码
[ 本帖最后由 awk就是awp加ak 于 2007-2-1 18:27 编辑 ] |
|