maketank-scripts from ansible
This commit is contained in:
51
roles/mkt-scripts/files/amavis/generate-dkim-conf.sh
Executable file
51
roles/mkt-scripts/files/amavis/generate-dkim-conf.sh
Executable file
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
CDIR="/var/cache/amavis-dkim"
|
||||
CONFDIR="/etc/amavis/conf.d"
|
||||
LUPDATED=$(stat -c %Y ${CONFDIR})
|
||||
|
||||
[[ -d ${CDIR} ]] || mkdir -p ${CDIR}
|
||||
|
||||
nmap -p 3306 10.201.0.4 |grep -q '3306/tcp.*open.*mysql'
|
||||
|
||||
if [[ $? == 1 ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MYSQL="mysql --skip-ssl -h 10.201.0.4 -u maketank -pknatekam2007 -B --database=maketank_froxlor"
|
||||
|
||||
#compare files
|
||||
OLD=${CDIR}/dkim-domains.prev
|
||||
[[ -e ${OLD} ]] || touch $OLD
|
||||
NEW=${CDIR}/dkim-domains.new
|
||||
${MYSQL} -e 'SELECT domain from panel_domains pd where pd.isemaildomain = "1" order by domain ASC;' |sed '1d' >$NEW
|
||||
|
||||
# Add new DKIM entries
|
||||
diff $OLD $NEW |awk -F '> ' '{print $2}' |awk NF | while read line; do
|
||||
line_n=$(echo ${line} |tr '.' '_')
|
||||
if [[ ! -e ${CONFDIR}/999-${line_n} ]]; then
|
||||
cat <<EOT >${CONFDIR}/999-${line_n}
|
||||
# Automatically generated, do not edit
|
||||
dkim_key(
|
||||
'${line}',
|
||||
'mx',
|
||||
'/etc/amavis/dkim/maketank.net.private.key'
|
||||
);
|
||||
1;
|
||||
EOT
|
||||
fi
|
||||
done
|
||||
|
||||
# Remove old DKIM entries
|
||||
diff $OLD $NEW |awk -F '< ' '{print $2}' |awk NF | while read line; do
|
||||
line_n=$(echo ${line} |tr '.' '_')
|
||||
rm -fv ${CONFDIR}/999-${line_n}
|
||||
done
|
||||
|
||||
|
||||
UPDATED=$(stat -c %Y ${CONFDIR})
|
||||
|
||||
if [[ ${LUPDATED} -lt ${UPDATED} ]]; then
|
||||
systemctl reload amavis.service
|
||||
cp $NEW $OLD
|
||||
fi
|
||||
33
roles/mkt-scripts/files/amavis/sa-learn.sh
Executable file
33
roles/mkt-scripts/files/amavis/sa-learn.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
BDIR="/var/spool/vmail_imapsieve_copy"
|
||||
SALEARN=$(which sa-learn)
|
||||
|
||||
[[ -x ${SALEARN} ]] || exit 1
|
||||
|
||||
remove_files () {
|
||||
WHAT=$1
|
||||
#echo "WHAT=${WHAT} EXIT=${2}"
|
||||
if [[ $2 -eq 0 ]]; then
|
||||
for file in $(ls ${BDIR}/${WHAT}/*.eml 2>/dev/null); do
|
||||
F=$(basename ${file})
|
||||
rm ${BDIR}/${WHAT}/${F}
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
learn () {
|
||||
WHAT=$1
|
||||
ls ${WHAT}/*.eml 1>/dev/null 2>&1
|
||||
if [[ $? -eq 0 ]]; then
|
||||
${SALEARN} --${WHAT} $BDIR/${WHAT}/*.eml
|
||||
remove_files ${WHAT} $?
|
||||
fi
|
||||
}
|
||||
|
||||
#We have stuff to download, put it in spool
|
||||
cd ${BDIR}
|
||||
|
||||
learn spam
|
||||
learn ham
|
||||
Reference in New Issue
Block a user