1#!/bin/sh 2 3# This script provides MailScanner cron job actions. 4# Edit /etc/MailScanner/defaults to change options 5# 6# MailScanner Team <https://www.mailscanner.info> 7# 17 April 2020 8 9PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/bin:/usr/local/bin:/bin:/sbin 10export PATH 11NAME=MailScanner 12DAEMON=/usr/sbin/MailScanner 13QUICKPEEK=/usr/sbin/ms-peek 14ms_conf=/etc/MailScanner/MailScanner.conf 15ms_core=/usr/share/MailScanner 16ms_lib=/usr/lib/MailScanner 17ramdisk_store=/var/spool/MailScanner/ramdisk_store 18stopped_lockfile=/var/lock/subsys/MailScanner.off 19 20# defaults 21ms_cron_check=0 22ms_cron_msg_alert=0 23ms_cron_sa=0 24ms_cron_av=0 25ms_cron_ps=0 26ms_cron_sn=0 27q_days=0 28 29# if no arguments are passed 30if [ -z $1 ]; then 31 # user info screen 32 clear 33 echo; 34 echo "MailScanner Cron"; echo; echo; 35 echo "This script provides basic maintenance services for MailScanner. Edit the file"; 36 echo "/etc/MailScanner/defaults to set your preferences."; 37 echo; 38 echo "You may use this from the command line or within a cron job. Usage:"; 39 echo; 40 echo "hourly items: /usr/sbin/ms-cron HOURLY"; 41 echo "daily items: /usr/sbin/ms-cron DAILY"; 42 echo "daemon check: /usr/sbin/ms-cron CHECK"; 43 echo "maintenance: /usr/sbin/ms-cron MAINT"; 44 echo; 45 46 exit 0 47else 48 ACTION=`echo $1 | tr '[:lower:]' '[:upper:]'` 49fi 50 51# basic config file 52if [ -f /etc/MailScanner/defaults ] ; then 53 . /etc/MailScanner/defaults 54else 55 logger -i -p mail.notice "ERROR: ms-cron missing configuration file /etc/MailScanner/defaults" 56 echo "Aborted: missing configuration file /etc/MailScanner/defaults" 57 exit 1 58fi 59 60# checks if mailscanner is running and starts if not 61if [ $ACTION = CHECK ]; then 62 /usr/sbin/ms-check 63 exit 0 64fi 65 66# hourly cron actions 67if [ $ACTION = HOURLY ]; then 68 69 # check if mailscanner process is running 70 if [ $ms_cron_check = 1 ]; then 71 /usr/sbin/ms-check 72 fi 73 74 # processing messages alert 75 if [ $ms_cron_msg_alert = 1 ]; then 76 /usr/sbin/ms-msg-alert 77 fi 78 79 exit 0 80fi 81 82# daily cron actions 83if [ $ACTION = DAILY ]; then 84 85 # update spamassassin 86 if [ $ms_cron_sa = 1 ]; then 87 /usr/sbin/ms-update-sa 88 fi 89 90 # update virus scanners 91 if [ $ms_cron_av = 1 ]; then 92 /usr/sbin/ms-update-vs 93 fi 94 95 # update phishing sites 96 if [ $ms_cron_ps = 1 ]; then 97 /usr/sbin/ms-update-phishing >/dev/null 98 fi 99 100 # update ScamNailer phishing emails 101 if [ $ms_cron_sn = 1 ]; then 102 if [ ! -d /var/cache/ScamNailer ]; then 103 mkdir -p /var/cache/ScamNailer 104 fi 105 /usr/sbin/ms-update-bad-emails 106 fi 107 108 exit 0 109fi 110 111# maintenance 112if [ $ACTION = MAINT ]; then 113 114 # clean the quarantine 115 if [ $q_days -gt 0 ]; then 116 /usr/sbin/ms-clean-quarantine 117 fi 118 119 exit 0 120fi 121 122# if we got this far 123echo "I don't know what you are doing, but you are doing it wrong."; 124