HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Tips/Tricks/Mods (http://www.howtoforge.com/forums/forumdisplay.php?f=19)
-   -   Getting sa-update running automatically (http://www.howtoforge.com/forums/showthread.php?t=10710)

bluethunder82 19th February 2007 19:05

Getting sa-update running automatically
 
In order to get your spam under control (well in the right direction) you can run the sa-update command and keep your 'rules' up-to-date. I'll outline what I have been using and am happy with. This may be obvious for some but hopefully helpful for others.

First, sa-update needs to have two additional perl modules installed that are not needed required for spamassassin to function. These are LWP, Archive::Tar (Nov 2006 bug report). It was also mentioned that UserAgent.pm was not installed by default elsewhere in this forum. In order get all the required perl modules installed use the following command:

Code:

apt-get install libwww-perl libarchive-tar-perl
This will allow the script sa-update to run and update your rules. However who wants to do this manually? I have created by own script that emails me the results of the updates each morning. For me this is preferred as I get many other daily emails from the servers so I can keep an eye on my background tasks.

(I'll assume you know how to create and make executable the sh script)

Code:

#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/admispconfig/ispconfig/tools/spamassassin/usr/bin

#########################################################################################################################
#Written by Jason Shewchuk                                                                                              #
#E-Mail: jason <> shewchuk.ca                                                                                          #
#Version: 0                                                                                                            #
#Date Created: Sept. 20, 2006                                                                                          #
#Date Modified: Sept. 20, 2006                                                                                          #
#Feel free to use and modify this script.  Let me know of changes you have made so I can learn and improve this script  #
#########################################################################################################################

#Today's date
today=$(date +%Y_%m_%d)

#Run sa-update
/home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update

exitcode=$?    #Exit code from sa-update

#Find version of sa-update
version=$(/home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update -V | grep "sa-update")

if [ $exitcode = 0 ]; then
        echo "An update was available, and was downloaded and installed successfully.  You are now running $version."  | formail -c -I"Subject: sa-update Updated for $today - Updated" -I"From: sa-update@localhost" -I"To: postmaster@{YOURDOMAIN.TLD}" -I"Received: from {YOURDOMAIN.TLD} ([{IP Address If You Wish}])" | sendmail postmaster@{YOURDOMAIN.TLD}

elif [ $exitcode = 1 ]; then
        echo "No update was available.  You are still running $version." | formail -c -I"Subject: sa-update Update Status for $today - No Update" -I"From: sa-update@localhost" -I"To: postmaster@{YOURDOMAIN.TLD}" -I"Received: from {YOURDOMAIN.TLD} ([{IP Address If You Wish}])" | sendmail postmaster@{YOURDOMAIN.TLD}

else
        echo "An error occured while attempting to download and extract updates.  You are still running $version." | formail -c -I"Subject: sa-update Update Status for $today - Error" -I"From: sa-update@localhost" -I"To: postmaster@{YOURDOMAIN.TLD}" -I"Received: from {YOURDOMAIN.TLD} ([{IP Address If You Wish}])" | sendmail postmaster@{YOURDOMAIN.TLD}
fi

exit 0

You will need to update anything located in the {} brackets.

Once this is done jump into your crontab.
Code:

crontab -e
Then make your entry. My script in this example is located in the root of 'root's' directory. I've also got the script running at 03:00.

Code:

0 3 * * * /root/sa-updater &> /dev/null
If you don't want the emails sent to you daily then just use the following crontab statement.

Code:

0 3 * * * /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update &> /dev/null
That should be about it.:eek:

Hope this is helpful. I'm running this with Ubuntu 6.06 (PPC and x86) I'd like feedback on how this performs in other environments.

edge 19th February 2007 20:20

Nice one!

I'll give it a go on one of my servers that does still get a lot of spam

martinfst 19th February 2007 20:37

Seems to run nicely. You have to change the permission though to make it executable:
Code:

chmod 750 /root/sa-updater
. I'll see if it catches more spam now.

Edit: I'm running Ubuntu Edge Eft 6.10

bluethunder82 19th February 2007 20:49

I have found that running the update rules helps clean up the last bit of spam I get. The other prevention I use is zen.spamhaus.org. SPAM still gets through but nothing that has anyone commenting.

Hope you get good results as well.

edge 19th February 2007 22:34

The script is working nice on my Debian Sarge server.
I'll add it tomorrow to my other two server.

djtremors 25th February 2007 07:47

I just use the rules_du_jour script

http://sandgnat.com/rdj/rules_du_jour

you have to tell it where your spamassassin rules folder is which I just do a simple

PHP Code:

ln -/home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin /etc/spamassassin 

and then crontab run

PHP Code:

 sh /home/admispconfig/ispconfig/tools/spamassassin/etc/mail/spamassassin/RulesDuJour/rules_du_jour 


collimic 19th February 2009 06:51

update errors.
 
Hello, I followed the instructions and yet I am getting errors when I try and update.

error: no mirror data available for channel updates.spamassassin.org
channel: MIRRORED.BY file location was not in DNS, channel failed

Any help would be great.

falko 20th February 2009 17:54

What happens when you run
Code:

/home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update
manually?

madmucho 16th April 2009 21:24

Nice script
 
Thank you for that script i use it on testing server now with some specific changes and works ok :-) nice help against spam.

PS: Mandriva, i know mandriva again, there is stupid change in path ../usr/local/bin/....

Hagforce 17th April 2009 09:21

When i run "/home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update" nothing happends.
Is there supposed to be some sort of confirmation?
How can I check if the update was made?

I added "23 4 */2 * * /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/sa-update &> /dev/null" to a file and placed it in /etc/cron.daily would this work for updating?


All times are GMT +2. The time now is 18:25.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.