+# 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
+