Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jun 2015 15:07:18 -0500
From:      "Lt. Commander" <listmgr@antennex.com>
To:        "'jd1008'" <jd1008@gmail.com>, <freebsd-questions@freebsd.org>
Subject:   RE: Script question
Message-ID:  <BAY404-EAS148D4B304BB066F07E84004CCB90@phx.gbl>
In-Reply-To: <557C6DED.9070105@gmail.com>
References:  <BAY182-W89C2924F4BDF0D2BD3810DF4BB0@phx.gbl>, <CA%2Bg%2BBvjNv0PBOfmnWkzE26Tgqj6qZ-VKbHXMpuB8gak69G_T2g@mail.gmail.com>, <BAY404-EAS263BBC0728E6171BD47A4AECCBA0@phx.gbl>, <557B8484.9060405@gmail.com> <BAY182-W64842DB24FDD6D0F3A1854CCBA0@phx.gbl> <557C6DED.9070105@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 06/13/2015 06:58 AM, Lt. Commander wrote:
>> Date: Fri, 12 Jun 2015 19:16:52 -0600
>> From: jd1008@gmail.com
>> To: freebsd-questions@freebsd.org
>> Subject: Re: Script question
> Here is a short shell script:
>
> #!/bin/sh
>
> while read line; do
> score=`echo $line | grep ' score=.. '` scoreValue=`echo $score | sed 
> -e 's/score=//' -e 's/ *//'` address=`echo $line | grep 
> 'client_addr=[0-9]*\.[0-9]*\.[0-9]*.[0-9]* '` IP=`echo $address | sed 
> 's/client_addr=//'`
>
> if [ $scoreValue -ge 12 ]; then
>          echo $score
>          echo $IP
>          echo ====================
> fi
> done < your-log-file-name> 
> some-file-to-use-to-construct-the-spamassasin filter
>
> ----------------------------------------
>> Date: Fri, 12 Jun 2015 19:16:52 -0600
>> From: jd1008@gmail.com
>> To: freebsd-questions@freebsd.org
>> Subject: Re: Script question
>>
> That's a very interesting shell script and will give it a try.
>
> But, does the script only pickup spam with a "12" tag level or does it
pick up 12 and above which is what I need? (sorry, my scripting is not
strong).
>
> Jason 		
The boolean  -ge in the if test.
Greater than or equal to
So it grabs all 12 or greater values.

---------------------------------------------------------------
I understood the -ge had some purpose but FBSD didn't like it, at least
where it was placed, so that script didn't work.

However, later that night, I took a different approach and patched together
a script that gives me what I wanted. For the list here it is if you use a
spam filter that consistently tags spam that can be latched onto:

I know it's ugly..... but places a list of the IPs in a file plus sends me a
message with the same list. The file can be pumped into the /etc/mail/access
file to block those IPs.

#!/bin/sh
cd /var/log
grep -i spam=YES maillog > spam.tmp && \
awk '{print $11}' spam.tmp | sort | uniq > spam-hi && \
sed -e 's/^.*=//' spam-hi > spam-ip && \
cat spam-ip >> /usr/samba/mail/envelope
cat spam-ip | mail -s "SPAM IPs...." us.navy@outlook.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?BAY404-EAS148D4B304BB066F07E84004CCB90>