Script question

Lt. Commander listmgr at antennex.com
Sun Jun 14 20:07:27 UTC 2015


On 06/13/2015 06:58 AM, Lt. Commander wrote:
>> Date: Fri, 12 Jun 2015 19:16:52 -0600
>> From: jd1008 at gmail.com
>> To: freebsd-questions at 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 at gmail.com
>> To: freebsd-questions at 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 at outlook.com


More information about the freebsd-questions mailing list