1 | #!/bin/bash |
---|
2 | |
---|
3 | ( |
---|
4 | syn3-state dspam_clean OK "Bezig met het opschonen van het spamfilter. Ontvangen en versturen van email zal uitgeschakeld zijn tijdens deze actie." |
---|
5 | |
---|
6 | echo "Dspam clean gestart..." |
---|
7 | |
---|
8 | svcstop /service/qmail-send |
---|
9 | svcstop /service/qmail-smtpd |
---|
10 | |
---|
11 | abort() |
---|
12 | { |
---|
13 | svcreset /service/qmail-send |
---|
14 | svcreset /service/qmail-smtpd |
---|
15 | echo "Dspam clean mislukt!" |
---|
16 | syn3-state dspam_clean CAUTION "Opschonen spamfilter mislukt!" |
---|
17 | exit 1 |
---|
18 | } |
---|
19 | |
---|
20 | |
---|
21 | #prevent that error log gets too big |
---|
22 | rm /home/system/dspam/log/sql.errors 2>/dev/null |
---|
23 | |
---|
24 | |
---|
25 | #Only do mysql stuff is mysql is running and accesible |
---|
26 | PASSWD="`cat /etc/my.passwd`" |
---|
27 | if mysqlshow --password="$PASSWD" &>/dev/null; then |
---|
28 | #check and repair database |
---|
29 | mysqlcheck --password="$PASSWD" -r dspamdb || abort |
---|
30 | |
---|
31 | #cleanup database |
---|
32 | mysql --password="$PASSWD" dspamdb < /home/system/dspam/cleanup.sql || abort |
---|
33 | fi |
---|
34 | |
---|
35 | #roteer logfiles |
---|
36 | if [ "`find /home/system/dspam/ -name '*.log'`" != "" ]; then |
---|
37 | su - nobody -c "/usr/bin/dspam_logrotate -v -a 30 -d /home/system/dspam" || abort |
---|
38 | fi |
---|
39 | |
---|
40 | #roteer mailboxen |
---|
41 | find /home/system/dspam/data -name '*.mbox'| |
---|
42 | while read MBOX; do |
---|
43 | DAYS=30 |
---|
44 | if [ -e $MBOX.conf ]; then |
---|
45 | source $MBOX.conf |
---|
46 | fi |
---|
47 | su - nobody -c "TMP=/home/system/tmp archivemail -d $DAYS '$MBOX'" || abort |
---|
48 | done || abort |
---|
49 | |
---|
50 | |
---|
51 | |
---|
52 | svcreset /service/qmail-send |
---|
53 | svcreset /service/qmail-smtpd |
---|
54 | |
---|
55 | syn3-state dspam_clean OK "Opschonen spamfilter is gelukt." |
---|
56 | |
---|
57 | echo "Dspam clean succesvol beeindigd." |
---|
58 | |
---|
59 | |
---|
60 | ) 2>&1 | logger -p cron.info |
---|