#!/bin/sh set -e [ "$1" = "configure" ] || exit 0 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx # Load CARNET Tools . /usr/share/carnet-tools/functions.sh # check if monitrc is ours installfile=1 if [ -e /etc/monit/monitrc ]; then if ! grep -q "CARNET package monit-cn" /etc/monit/monitrc; then installfile=1 mv -f /etc/monit/monitrc /etc/monit/monitrc.dpkg-old else installfile=0 fi fi if [ $installfile -eq 1 ]; then echo "CN: Installing default monitrc in /etc/monit/monitrc" cp -a /usr/share/monit-cn/monitrc /etc/monit/monitrc chmod u=rw,go= /etc/monit/monitrc fi # sed monitrc with proper hostname if grep -q '@localhost' /etc/monit/monitrc; then CARNET_HOSTNAME=`hostname` CARNET_DOMAINNAME=`hostname --domain` cp_check_and_sed '@localhost' \ "s/@localhost/@$CARNET_HOSTNAME.$CARNET_DOMAINNAME/g" \ /etc/monit/monitrc || true fi # sed bacula-fd.conf with proper hostname if grep -q '127.0.0.1' /usr/share/monit-cn/bacula-fd.conf; then cp_check_and_sed '127.0.0.1' \ "s/127.0.0.1/$CARNET_HOSTNAME.$CARNET_DOMAINNAME/" \ /usr/share/monit-cn/bacula-fd.conf || true fi # you can modify others in a loop, maybe? # migrate to "but not on { instance }" alerting style cp_check_and_sed '^set alert [^[:space:]]*@[^[:space:]]* ' \ 's/^set alert \([^[:space:]]*@[^[:space:]]*\) .*$/set alert \1 but not on { instance }/g' \ /etc/monit/monitrc || true # migrate from old hierarchy if [ -d /etc/monit.d ]; then find /etc/monit.d -type f -print0 | xargs -0r -I% mv % /etc/monit/conf.d || true rmdir /etc/monit.d >/dev/null 2>&1 || true fi # (re)generate monit.d files update-monit.d || true # disable monit startup cp_check_and_sed '^startup[[:space:]]*=[[:space:]]*0' \ 's/^startup[[:space:]]*=.*/startup=1/g' /etc/default/monit || true cp_check_and_sed '^START[[:space:]]*=[[:space:]]*no' \ 's/^START[[:space:]]*=.*/START=yes/g' /etc/default/monit || true # remove us from systemv monit script if grep -q 'CARNET package monit-cn' /etc/init.d/monit; then echo "CN: Removing monit workaround from /etc/init.d/monit -- systemd is in use" cp-update -r monit-cn /etc/init.d/monit chmod +x /etc/init.d/monit fi service monit restart #DEBHELPER# exit 0