X-Git-Url: https://defaria.com/gitweb/?a=blobdiff_plain;f=clients%2FHP%2Fbin%2Funmount_nfs;fp=clients%2FHP%2Fbin%2Funmount_nfs;h=333a2f73c043c3ca827adf43f5e80755ae89675f;hb=a8c84d2892f07a6863b68a11eb0a4a79ffd71fb5;hp=0000000000000000000000000000000000000000;hpb=95384f94f88aceeb5eef2d322210ba4a438b6512;p=clearscm.git diff --git a/clients/HP/bin/unmount_nfs b/clients/HP/bin/unmount_nfs new file mode 100644 index 0000000..333a2f7 --- /dev/null +++ b/clients/HP/bin/unmount_nfs @@ -0,0 +1,93 @@ +#!/bin/ksh +################################################################################ +# +# File: mount_nfs +# RCS: $Header:$ +# Description: A script to mount all nfs mounts. Note if the automounter is +# running then this script will first shutdown the automounter. +# This script returns 0 for success or non zero if it was unable +# to umount all nfs mounts. This script must run as root. +# Author: Andrew DeFaria, California Language Labs +# Created: Fri Jun 6 10:31:51 PDT 1997 +# Modified: +# Language: Korn Shell +# +# (c) Copyright 2001, Andrew@DeFaria.com, all rights reserved +# +################################################################################ +# Set me to command name +me=$(basename $0) + +# Set adm_base +adm_base=${adm_base:-$HOME/adm} + +# Set adm_fpath +adm_fpath=${adm_fpath:-$adm_base/functions} + +# Source functions +. $adm_fpath/common + +if is_not_root; then + error "This script must be run as root" 1 +fi + +integer automount_pid=$(process_is_running automount) +kill_automounter=yes + +if [ $automount_pid -ne 0 ]; then + print "Attempting to shutdown the automounter..." + kill -15 $automount_pid + + print "Waiting for the automounter to shutdown..." + integer max_tries=5 + integer wait_time=10 + + while [ $max_tries -ne 0 ]; do + sleep 10 + automount_pid=$(process_is_running automount) + process_is_running automount + if [ $automount_pid -ne 0 ]; then + print "The automounter ($automount_pid) is still running!" + print "I will wait $max_tries more time\c" + if [ $max_tries -gt 1 ]; then + print -u2 "s\c" + fi + print ". Waiting $wait_time seconds..." + sleep $wait_time + else + break + fi + let max_tries=max_tries-1 + done +fi + +automount_pid=$(process_is_running automount) +if [ $automount_pid -ne 0 ]; then + print "The automounter has not shutdown! Continuing..." +else + print "The automounter has been shut down successfully" + touch /etc/automounter_was_here +fi + +print "\nAttempting to unmount all nfs mounts" +if [ "$OS" = "09" ]; then + /etc/umount -at nfs +else + /usr/sbin/umount -a -F nfs +fi + +integer nfs_mounts_left=$(grep -c "nfs" /etc/mnttab) + +if [ $nfs_mounts_left -eq 0 ]; then + print "All nfs filesystems have been successfully unmounted!" + exit 0 +else + print "There \c" + if [ $nfs_mounts_left -eq 1 ]; then + print "is one filesystem left mounted:\n" + else + print "are $nfs_mounts_left filesystems left mounted:\n" + fi + grep nfs /etc/mnttab + exit 1 +fi