#!/bin/sh # Script zum Importieren der DMARC-Daten aus dem lokalen cache-Datei in die mySQL Datenbank # und Generieren der DMARC-reports # Das Script wird um 03:33 Uhr via cronjob aufgerufen. # # crontab # einmal in der Nacht die DMARC-Statistikdaten abholen und die mySQL-Datenbank damit befüllen. # 33 3 * * * /usr/local/bin/dmarc-report 1>/dev/null 2>&1 # # Django : 2014-03-20 WORKDIR="/home/dmarc/" WORKFILE="opendmarc_all_hosts.dat" SSHKEYFILE=".ssh/id_rsa" MXHOSTS="mx01.nausch.org mx02.nausch.org mx03.nausch.org" DBFILE="opendmarc.dat" DBHOST="mysql.dmz.nausch.org" DBPORT="3306" DBUSER="opendmarc_user" DBPASSWD="ALLHs6blVwd8eHoSk2J3WZsT" DBNAME="opendmarc" # DMARC Datenfile von den Mailservern abholen cd $WORKDIR for HOST in $MXHOSTS; do scp -i $WORKDIR$SSHKEYFILE dmarc@${HOST}:/var/run/opendmarc/$DBFILE ${HOST}.dat ssh -i $WORKDIR$SSHKEYFILE dmarc@${HOST} "/bin/cat /dev/null > /var/run/opendmarc/$DBFILE" cat ${HOST}.dat >> $WORKFILE done # DMARC Daten in die mySQL-Datenbank opendmarc schreiben /usr/sbin/opendmarc-import --dbhost=$DBHOST --dbport=$DBPORT --dbname=$DBNAME --dbuser=$DBUSER \ --dbpasswd=$DBPASSWD < $WORKDIR$WORKFILE # DMARC Statistik-Report erstellen /usr/sbin/opendmarc-reports --dbhost=$DBHOST --dbport=$DBPORT --dbname=$DBNAME --dbuser=$DBUSER \ --dbpasswd=$DBPASSWD --verbose --interval=86400 --report-email 'postmaster@nausch.org' --report-org 'nausch.org' # DMARC Datenbank aufräumen, Datensätze die älter als 90 Tage sind werden gelöscht /usr/sbin/opendmarc-expire --dbhost=$DBHOST --dbport=$DBPORT --dbname=$DBNAME --dbuser=$DBUSER \ --dbpasswd=$DBPASSWD --verbose --expire=90 # Work-Verzeichnis wieder aufräumen cd $WORKDIR rm $WORKDIR*.dat -rf