51 lines
1.2 KiB
Bash
Executable File
51 lines
1.2 KiB
Bash
Executable File
#!/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 |