mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2025-07-24 20:54:43 +02:00
scripts: split setup-stack.sh
(#3115)
This commit is contained in:
parent
1592698637
commit
f35b60042f
18 changed files with 1205 additions and 1184 deletions
110
target/scripts/startup/setup.d/log.sh
Normal file
110
target/scripts/startup/setup.d/log.sh
Normal file
|
@ -0,0 +1,110 @@
|
|||
#!/bin/bash
|
||||
|
||||
function _setup_logrotate
|
||||
{
|
||||
_log 'debug' 'Setting up logrotate'
|
||||
|
||||
LOGROTATE='/var/log/mail/mail.log\n{\n compress\n copytruncate\n delaycompress\n'
|
||||
|
||||
case "${LOGROTATE_INTERVAL}" in
|
||||
( 'daily' )
|
||||
_log 'trace' 'Setting postfix logrotate interval to daily'
|
||||
LOGROTATE="${LOGROTATE} rotate 4\n daily\n"
|
||||
;;
|
||||
|
||||
( 'weekly' )
|
||||
_log 'trace' 'Setting postfix logrotate interval to weekly'
|
||||
LOGROTATE="${LOGROTATE} rotate 4\n weekly\n"
|
||||
;;
|
||||
|
||||
( 'monthly' )
|
||||
_log 'trace' 'Setting postfix logrotate interval to monthly'
|
||||
LOGROTATE="${LOGROTATE} rotate 4\n monthly\n"
|
||||
;;
|
||||
|
||||
( * )
|
||||
_log 'warn' 'LOGROTATE_INTERVAL not found in _setup_logrotate'
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
echo -e "${LOGROTATE}}" >/etc/logrotate.d/maillog
|
||||
}
|
||||
|
||||
function _setup_mail_summary
|
||||
{
|
||||
local ENABLED_MESSAGE
|
||||
ENABLED_MESSAGE="Enabling Postfix log summary reports with recipient '${PFLOGSUMM_RECIPIENT}'"
|
||||
|
||||
case "${PFLOGSUMM_TRIGGER}" in
|
||||
( 'daily_cron' )
|
||||
_log 'debug' "${ENABLED_MESSAGE}"
|
||||
_log 'trace' 'Creating daily cron job for pflogsumm report'
|
||||
|
||||
cat >/etc/cron.daily/postfix-summary << EOF
|
||||
#!/bin/bash
|
||||
|
||||
/usr/local/bin/report-pflogsumm-yesterday ${HOSTNAME} ${PFLOGSUMM_RECIPIENT} ${PFLOGSUMM_SENDER}
|
||||
EOF
|
||||
|
||||
chmod +x /etc/cron.daily/postfix-summary
|
||||
;;
|
||||
|
||||
( 'logrotate' )
|
||||
_log 'debug' "${ENABLED_MESSAGE}"
|
||||
_log 'trace' 'Add postrotate action for pflogsumm report'
|
||||
sed -i \
|
||||
"s|}| postrotate\n /usr/local/bin/postfix-summary ${HOSTNAME} ${PFLOGSUMM_RECIPIENT} ${PFLOGSUMM_SENDER}\n endscript\n}\n|" \
|
||||
/etc/logrotate.d/maillog
|
||||
;;
|
||||
|
||||
( 'none' )
|
||||
_log 'debug' 'Postfix log summary reports disabled'
|
||||
;;
|
||||
|
||||
( * )
|
||||
_log 'warn' "Invalid value for PFLOGSUMM_TRIGGER: '${PFLOGSUMM_TRIGGER}'"
|
||||
;;
|
||||
|
||||
esac
|
||||
}
|
||||
|
||||
function _setup_logwatch
|
||||
{
|
||||
echo 'LogFile = /var/log/mail/freshclam.log' >>/etc/logwatch/conf/logfiles/clam-update.conf
|
||||
echo "MailFrom = ${LOGWATCH_SENDER}" >>/etc/logwatch/conf/logwatch.conf
|
||||
echo "Mailer = \"sendmail -t -f ${LOGWATCH_SENDER}\"" >>/etc/logwatch/conf/logwatch.conf
|
||||
|
||||
case "${LOGWATCH_INTERVAL}" in
|
||||
( 'daily' | 'weekly' )
|
||||
_log 'debug' "Enabling logwatch reports with recipient '${LOGWATCH_RECIPIENT}'"
|
||||
_log 'trace' "Creating ${LOGWATCH_INTERVAL} cron job for logwatch reports"
|
||||
|
||||
local LOGWATCH_FILE INTERVAL
|
||||
|
||||
LOGWATCH_FILE="/etc/cron.${LOGWATCH_INTERVAL}/logwatch"
|
||||
INTERVAL='--range Yesterday'
|
||||
|
||||
if [[ ${LOGWATCH_INTERVAL} == 'weekly' ]]
|
||||
then
|
||||
INTERVAL="--range 'between -7 days and -1 days'"
|
||||
fi
|
||||
|
||||
cat >"${LOGWATCH_FILE}" << EOF
|
||||
#!/bin/bash
|
||||
|
||||
/usr/sbin/logwatch ${INTERVAL} --hostname ${HOSTNAME} --mailto ${LOGWATCH_RECIPIENT}
|
||||
EOF
|
||||
chmod 744 "${LOGWATCH_FILE}"
|
||||
;;
|
||||
|
||||
( 'none' )
|
||||
_log 'debug' 'Logwatch reports disabled.'
|
||||
;;
|
||||
|
||||
( * )
|
||||
_log 'warn' "Invalid value for LOGWATCH_INTERVAL: '${LOGWATCH_INTERVAL}'"
|
||||
;;
|
||||
|
||||
esac
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue