#!/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 <${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