X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=pl_mop.sh;h=edc8222a3cd102cd75e60361c06f9480123ad129;hb=feff23e59b00803a274dbd3cd490379d20c51d1a;hp=ab6c50ffa6d086f056de111c3dfacd42c936021a;hpb=e8cb9b16d0a8fe295ceca3d66b6c91e054c59e4c;p=mom.git diff --git a/pl_mop.sh b/pl_mop.sh index ab6c50f..edc8222 100755 --- a/pl_mop.sh +++ b/pl_mop.sh @@ -5,7 +5,7 @@ # Mark Huang # Copyright (C) 2005 The Trustees of Princeton University # -# $Id: pl_mop.sh,v 1.1 2005/10/11 17:34:57 mlhuang Exp $ +# $Id: pl_mop.sh,v 1.5 2006/03/06 20:40:33 mlhuang Exp $ # PATH=/sbin:/usr/sbin:$PATH @@ -46,7 +46,7 @@ fix_etc_shadow() { # keep essential services running restart_services() { - for service in autofs sshd pl_sshd pl_mom pl_nm proper ; do + for service in sshd pl_sshd swapmon pl_nm proper ; do echo "* Checking $service" status=$(service $service status) if [ $? -ne 0 ] || echo $status 2>&1 | grep -q stopped ; then @@ -74,7 +74,8 @@ restart_pl_conf() { vserver pl_conf exec /sbin/service pl_conf status >/dev/null 2>&1 if [ $? -ne 0 ] ; then echo "* Restarting pl_conf" - vserver pl_conf restart + vserver pl_conf stop + vserver pl_conf start fi } @@ -108,9 +109,6 @@ fix_vservers() { # kill all processes running in slice contexts vkillall - # stop the key automounter - service autofs stop - # stop vcached pidfile=/var/run/vcached.pid if [ -r "$pidfile" ] ; then @@ -131,17 +129,17 @@ fix_vservers() { # blow away the vserver cache rm -rf /vservers/.vcache/* - # re-mount /vservers - mount /vservers + # XXX re-mount /vservers + # mount /vservers + + # shutdown instead to avoid clearing disk quotas + shutdown -r now "/vservers filesystem repaired, rebooting" else echo "Unable to unmount /vservers!" >&2 fi # allow vcached to run again rm -f $pidfile - - # restart the key automounter - service autofs start } kill_duplicate_ssh() {