Script para montar y desmontar directorios NFS

Solapas principales

Si bien he montado un servidor NFS, no siempre tengo encendido mi servidor. Por lo cual cuando inicio la máquina cliente con el servidor apagado, tarda muchísimo tiempo si tengo configurado en /etc/fstab para que se monte automáticamente.

Por lo tanto programé el siguiente script:

#!/bin/bash
if [ `whoami` = root ]
	then
	ip='192.168.0.4'
	ruta_s='/home/pablo'
	ruta_c='/home/pablo'
	d=NFS
	v=('tmp' 'Documentos' 'Imágenes' 'Música' 'Vídeos')
	for i in ${!v[*]}
		do
		if [ $i -eq 0 ]
			then
			V[$i]=$ip:/${v[$i]}
		else
			V[$i]=$ip:$ruta_s/${v[$i]}
		fi
	done
	case $# in
		0)
		for i in ${!V[*]}
			do
			mount ${V[i]} $ruta_c/$d/${v[i]}
		done
	;;
		1)
		if [ $1 = '-u' -o $1 = '-U' ]
			then
			for i in ${v[*]}
				do
				umount $ruta_c/$d/$i
			done
		else
			mount $ip:$ruta_s/$1 $ruta_c/$d/$1
		fi
	;;
		*)
		case $1 in
			'-U'|'-u')
			for i in ${@}
				do
				if [ $i != '-U' -a $i != '-u' ]
					then
					umount $ruta_c/$d/$i
				fi
			done
		;;
			*)
			for i in ${@}
				do
				mount $ip:$ruta_s/$i $ruta_c/$d/$i
			done
		;; esac
	;; esac
	else
	echo -e "\e[0;31m"Permiso denegado, se necesita ser root."\e[0m"
fi

Aclaración 1: El primer elemento es el directorio /tmp y por ende tiene otra ruta.

Al script lo llamé nfs y tiene las siguientes opciones.

Si se lo ejecuta a secas (sin argumentos), montará automáticamente todos los directorios declarados en el vector v.

# ./nfs

Para desmontarlos, hay que ejecutarlo con el argumento -U o -u.

# ./nfs -u

Para montar uno o más directorios NFS hay que añadirlos como argumentos con sus respectivos nombres de directorios a montar.

# ./nfs Música Vídeos

Lo mismo para desmontar directorios NFS específicos:

# ./nfs -u Música Vídeos

Aclaración 2: Es obligatorio ser root.