clamav PID introduced again
[monit-cn.git] / debian / postinst
1 #!/bin/sh
2
3 set -e
4
5 [ "$1" = "configure" ] || exit 0
6 [ "$DEBIAN_SCRIPT_DEBUG" ] && set -vx
7
8 # Load CARNET Tools
9 . /usr/share/carnet-tools/functions.sh
10
11 # check if monitrc is ours
12 installfile=1
13 if [ -e /etc/monit/monitrc ]; then
14     if ! grep -q "CARNET package monit-cn" /etc/monit/monitrc; then
15         installfile=1
16         mv -f /etc/monit/monitrc /etc/monit/monitrc.dpkg-old
17     else
18         installfile=0
19     fi
20 fi
21 if [ $installfile -eq 1 ]; then
22     echo "CN: Installing default monitrc in /etc/monit/monitrc"
23     cp -a /usr/share/monit-cn/monitrc /etc/monit/monitrc
24     chmod u=rw,go= /etc/monit/monitrc
25 fi
26
27 # sed monitrc with proper hostname
28 if grep -q '@localhost' /etc/monit/monitrc; then
29     CARNET_HOSTNAME=`hostname`
30     CARNET_DOMAINNAME=`hostname --domain`
31     cp_check_and_sed '@localhost' \
32         "s/@localhost/@$CARNET_HOSTNAME.$CARNET_DOMAINNAME/g" \
33         /etc/monit/monitrc || true
34 fi
35
36 # sed bacula-fd.conf with proper hostname
37 if grep -q '127.0.0.1' /usr/share/monit-cn/bacula-fd.conf; then
38     cp_check_and_sed '127.0.0.1' \
39         "s/127.0.0.1/$CARNET_HOSTNAME.$CARNET_DOMAINNAME/" \
40         /usr/share/monit-cn/bacula-fd.conf || true
41 fi
42
43 # you can modify others in a loop, maybe?
44
45 # migrate to "but not on { instance }" alerting style
46 cp_check_and_sed '^set alert [^[:space:]]*@[^[:space:]]* ' \
47     's/^set alert \([^[:space:]]*@[^[:space:]]*\) .*$/set alert \1 but not on { instance }/g' \
48     /etc/monit/monitrc || true
49
50 # migrate from old hierarchy
51 if [ -d /etc/monit.d ]; then
52     find /etc/monit.d -type f -print0 | xargs -0r -I% mv % /etc/monit/conf.d || true
53     rmdir /etc/monit.d >/dev/null 2>&1 || true
54 fi
55
56 # (re)generate monit.d files
57 update-monit.d || true
58
59 # disable monit startup
60 cp_check_and_sed '^startup[[:space:]]*=[[:space:]]*0' \
61     's/^startup[[:space:]]*=.*/startup=1/g' /etc/default/monit || true
62 cp_check_and_sed '^START[[:space:]]*=[[:space:]]*no' \
63     's/^START[[:space:]]*=.*/START=yes/g' /etc/default/monit || true
64
65 # remove us from systemv monit script
66 if grep -q 'CARNET package monit-cn' /etc/init.d/monit; then
67   echo "CN: Removing monit workaround from /etc/init.d/monit -- systemd is in use"
68   cp-update -r monit-cn /etc/init.d/monit
69   chmod +x /etc/init.d/monit
70 fi
71
72 service monit restart
73
74 #DEBHELPER#
75
76 exit 0