Progmail / GPG / Test
Alle eingehenden Mails sollen automatisiert verarbeitet werden.
LIVE: export Check Config oder State an Check Monitoring Sites
TEST: touch field with Date in File and Dir name
Die Dateien werden gpg verschlüsselte Anhänge haben. Um diese zu extrahieren verwende ich das Tool ripmime
GPG Initialisierung
https://www.hauke-laging.de/sicherheit/openpgp.html
Danach soll eine Passphrase eingegeben werden. Hier zum Test lasse ich das leer und bestätige das im nächsten Schritt. Die Aufforderung kommt 2x.
.procmailrc
Diese Datei steuert die procmail Verarbeitung.
Jedes Mail wird als Betreff haben "STATE <Chckmk Site name>"
Das das Regex Element nach '\/' füllt die Variable MATCH.
ORGMAIL=$HOME/Maildir
DEFAULT=$ORGMAIL
MAILDIR=$HOME/Maildir
VERBOSE=on
PMDIR=$HOME/.procmail
LOGFILE=$HOME/procmaillog
SHELL=/bin/bash
DATE=`date +%Y%m%d_%H-%M-%S`
SUBJECT=| formmail -xSubject:
DELIVERY=| formmail -xX-Delivery-Time:
DTIME=`echo $DELIVERY | date +%Y%m%d_%H-%M-%S`
:0
* ^Subject:.*STATE \/.*
| mkdir -p $HOME/received/$MATCH/$DTIME && ripmime --overwrite --no-nameless -i - -d $HOME/received/$MATCH/$DTIME/ && $HOME/extract $MATCH/$DTIME
TEST
zum Test nutze ich ein bashscript "sendstate". Die Verarbeitung das Skript "extract"
#!/bin/bash
sendPATH="$HOME/send"
mkdir -p $sendPATH
cd $sendPATH
touch state
tar czvf state.tgz state
gpg -e --batch --yes -r USRV2-MAIL -o state.gpg state.tgz
for s in site01 site02 site03 site04 site05 site06 site07 site08 site09 site10 site11 site12 site13 site14 site15 site16 site17 site18 site19 site20
do
echo "STATE $s" | mail -s "STATE $s" -A state.gpg -r gerald@amrhein.info admin@amrhein.info
done
#!/bin/bash
recvPATH="$HOME/received/$1"
cd "$recvPATH"
gpg -d --batch --yes -r USRV2-MAIL state.gpg >state.tgz
tar xzvf state.tgz
myDATE=$(echo $(stat state -c %Z) | date +%Y%m%d_%H-%M-%S)
mv state ${myDATE}_state