X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=update-monit.d;h=4ed19e1ef3b2ce152075bb62a5050091a040a0db;hb=e29e5899e52aa4c37f9d31b91da48e26e76b3158;hp=0e06932fba2b9d8b1331bc2644a3d613f3dedbb0;hpb=0ecee20a438cb6e283c728dfa7d7a9b54a8c4ade;p=monit-cn.git diff --git a/update-monit.d b/update-monit.d index 0e06932..4ed19e1 100755 --- a/update-monit.d +++ b/update-monit.d @@ -60,26 +60,38 @@ check_pid() { changed=0 if [ ! -d "$MONIT_DIR" ]; then mkdir -p "$MONIT_DIR" -else - for i in $(find "$MONIT_DIR" -name '*.conf'); do - check_service $i - if [ ! $RET -eq 0 ]; then - serviceconf=$(basename $i) - echo "CN: Disabled $serviceconf" - mv -f $i $i.disabled - changed=1 - fi - done fi -for i in $(find "$TEMPLATES_DIR" -name '*.conf'); do +for i in $(find "$MONIT_DIR" -name '*.conf'); do check_service $i - if [ $RET -eq 0 ]; then + if [ ! $RET -eq 0 ]; then serviceconf=$(basename $i) - if [ ! -r "$MONIT_DIR"/$serviceconf ]; then - echo "CN: Enabled $serviceconf" - cp -a $i "$MONIT_DIR" - changed=1 + echo "CN: Disabled $serviceconf" + mv -f $i $i.disabled + changed=1 + fi +done + +for i in $(find "$TEMPLATES_DIR" -name '*.conf'); do + serviceconf=$(basename $i) + if [ -r "$MONIT_DIR"/$serviceconf.disabled ]; then + check_service "$MONIT_DIR"/$serviceconf.disabled + if [ $RET -eq 0 ]; then + if [ ! -r "$MONIT_DIR"/$serviceconf ]; then + echo "CN: Enabled $serviceconf (previously disabled)" + mv "$MONIT_DIR"/$serviceconf.disabled \ + "$MONIT_DIR"/$serviceconf + changed=1 + fi + fi + else + check_service $i + if [ $RET -eq 0 ]; then + if [ ! -r "$MONIT_DIR"/$serviceconf ]; then + echo "CN: Enabled $serviceconf (new service)" + cp -a $i "$MONIT_DIR" + changed=1 + fi fi fi done @@ -87,6 +99,8 @@ done if [ $changed -eq 1 ]; then echo "CN: Stopping/restarting monit service" pkill -9 -f /usr/sbin/monit || true +else + echo "CN: No new services detected, sorry" fi exit 0