Date: Tue, 9 Sep 2008 03:24:06 -0700 (PDT) From: Jeremy Chadwick <koitsu@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: scheidell@secnap.net Subject: ports/127242: Add nightly periodic(8) script that uses sa-update Message-ID: <20080909102406.B4C7317B84E@icarus.home.lan> Resent-Message-ID: <200809091030.m89AU19x050771@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 127242 >Category: ports >Synopsis: Add nightly periodic(8) script that uses sa-update >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Tue Sep 09 10:30:01 UTC 2008 >Closed-Date: >Last-Modified: >Originator: Jeremy Chadwick >Release: FreeBSD 7.1-PRERELEASE amd64 >Organization: >Environment: System: FreeBSD icarus.home.lan 7.1-PRERELEASE FreeBSD 7.1-PRERELEASE #0: Tue Sep 2 00:14:39 PDT 2008 root@icarus.home.lan:/usr/obj/usr/src/sys/PDSMI_PLUS_amd64 amd64 >Description: It would be convenient if we have a periodic(8) script that ran sa-update nightly, allowing new rules to be downloaded automatically. >How-To-Repeat: n/a >Fix: Below is the script. Note that the hard-coded /usr/local paths will need to be changed to %%WHATEVER%% and expanded. (I'm being somehwat lazy tonight, otherwise I'd include a full diff/patch for the port Makefile and related stuffs) periodic flags used are fairly self-descriptive. :-) #!/bin/sh -f # # $FreeBSD$ # # periodic(8) script that runs sa-update on a nightly basis, updating # SpamAssassin rules if needed. Relies on sa-update command. # # Contributed by: Jeremy Chadwick <koitsu@FreeBSD.org> # # Define these variables in either /etc/periodic.conf or # /etc/periodic.conf.local to override the defaults. # # Examples: # # saupdate_enable="YES" # run sa-update(1) daily # saupdate_flags="--nogpg" # flags passed to sa-update, e.g. disable GPG support # saupdate_restart_spamd="YES" # Restart sa-spamd when new rules are found # If there is a global system configuration file, suck it in. # if [ -r /etc/defaults/periodic.conf ] then . /etc/defaults/periodic.conf source_periodic_confs fi : ${saupdate_enable="NO"} : ${saupdate_flags=""} : ${saupdate_restart_spamd="YES"} rc=0 case "$saupdate_enable" in [Yy][Ee][Ss]) echo echo "Running sa-update:" echo /usr/local/bin/sa-update ${saupdate_flags} || rc=$? if [ $rc -eq 0 ]; then echo "Downloaded and installed new rules." echo case "$saupdate_restart_spamd" in [Yy][Ee][Ss]) echo "Restarting sa-spamd:" echo /usr/local/etc/rc.d/sa-spamd restart ;; *) ;; esac elif [ $rc -eq 1 ]; then echo "No new rules available." rc=0 else echo "sa-update failed with exit code $rc. Please refer to the sa-update(1)" echo "man page for details." fi ;; *) rc=0 ;; esac exit $rc >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080909102406.B4C7317B84E>