#!/usr/bin/env bash # Start at daemon atd # Roundcube cleanup (daily) while true do at -f /usr/share/webapps/roundcube/bin/cleandb.sh midnight sleep 1d done & # Update Postscreen Whitelists (daily) while true do at -f /usr/local/bin/postwhite/postwhite midnight sleep 1d done & # Update Yahoo! IPs for Postscreen Whitelists (weekly) while true do at -f /usr/local/bin/postwhite/scrape_yahoo midnight sunday sleep 7d done & # Notify if rejected emails were found while true do bash -c 'tail -n +0 --pid=$$ -f /var/log/mail/maillog* | grep --line-buffered -F -v -f /var/log/mail/reject.log | { sed "/NOQUEUE: reject/q" && kill $$ ;}' echo "$(grep "NOQUEUE: reject" /var/log/mail/maillog* | grep -F -v -f /var/log/mail/reject.log)" >>/var/log/mail/reject.log cat <<- mail | sendmail reject@${MYVEMAIL_DOMAIN} From: reject@${MYVEMAIL_DOMAIN} To: reject@${MYVEMAIL_DOMAIN} Subject: Rejected email found $(tail -n 1 /var/log/mail/reject.log) mail done & # # Refresh ssl keys daily # # https://www.golinuxcloud.com/renew-self-signed-certificate-openssl/ # while true # do # sleep 1d # openssl x509 -x509toreq -in /etc/ssl/dovecot/tls.pem -signkey /etc/ssl/dovecot/tls.key -out /tmp/new-certificate-sign-request.csr # openssl x509 -req -days 3650 -in /tmp/new-certificate-sign-request.csr -signkey /etc/ssl/dovecot/tls.key -out /etc/ssl/dovecot/tls.pem # rm /tmp/new-certificate-sign-request.csr # dovecot reload # postfix reload # done &