first commit
This commit is contained in:
181
scripts/mount_tool.sh
Normal file
181
scripts/mount_tool.sh
Normal file
@ -0,0 +1,181 @@
|
||||
#!/bin/bash
|
||||
#(c) Roy Cohen 29/03/2014 :roy@wondercohen.nl
|
||||
#objective :Mount and Umount mounts on remote server
|
||||
#last update :10/05/2014
|
||||
#version :0.3
|
||||
|
||||
if [ $# -lt 1 ]
|
||||
then
|
||||
echo "Syntax error must be : ./`basename $0` <file name>"
|
||||
exit
|
||||
fi
|
||||
clear
|
||||
# Parameter
|
||||
DATE=`/bin/date +%H\u%M-%d-%b-%Y`
|
||||
FILE=$1
|
||||
# Variables
|
||||
LOGDIR="$HOME/celera/logs/"
|
||||
|
||||
check(){
|
||||
opt_checkstatus=1
|
||||
while [ $opt_checkstatus != 6 ]
|
||||
do
|
||||
clear
|
||||
echo -e "\n\t*****Checks for mount on servers*****\n
|
||||
1. Check all mounts via mtab\n
|
||||
2. Check Celera mounts via mtab\n
|
||||
3. Check all mounts via fstab\n
|
||||
4. Check Celera mounts via fstab\n
|
||||
5. Check Noauto mounts in fstab\n
|
||||
6. Go back to Main Menu"
|
||||
|
||||
read opt_checkstatus
|
||||
case $opt_checkstatus in
|
||||
1)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts**" && cat /etc/mtab |grep -v "^#" |awk '\''{print $2}'\'' ) ; do echo $i; done' 2>&1 | tee -a ${LOGDIR}allMtab${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
2)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts**" && cat /etc/mtab |grep -v "^#" | grep sc |awk '\''{print $2}'\'' ) ; do echo $i; done' 2>&1 | tee -a ${LOGDIR}celeraMtab_${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
3)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts**" && cat /etc/fstab |grep -v "^#" |awk '\''{print $2}'\'' ) ; do echo $i; done' 2>&1 | tee -a ${LOGDIR}allFstab${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
4)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts**" && cat /etc/fstab |grep -v "^#" | grep sc |awk '\''{print $2}'\'' ) ; do echo $i; done' 2>&1 | tee -a ${LOGDIR}celeraFstab${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
5)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts**" && cat /etc/fstab |grep -v "^#" | grep noauto | grep -v sys |awk '\''{print $2}'\'' ) ; do echo $i; done' 2>&1 | tee -a ${LOGDIR}allNoautoFstab${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
6) main;;
|
||||
*) echo -e "Wrong Option Selected!!!"
|
||||
esac
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
mount()
|
||||
{
|
||||
opt_checkstatus=1
|
||||
while [ $opt_checkstatus != 4 ]
|
||||
do
|
||||
clear
|
||||
echo -e "\n\t***** Mount on servers *****\n
|
||||
1. Mount all via fstab\n
|
||||
2. Mount only Celera via fstab\n
|
||||
3. Mount all noauto via fstab\n
|
||||
4. Go back to Main Menu"
|
||||
|
||||
read opt_checkstatus
|
||||
case $opt_checkstatus in
|
||||
1)
|
||||
for host in $(cat $FILE); do
|
||||
if [[ $host =~ clnara* || clnars1d && clnars1m && clnsr206 && clnprp1d && clnprp1m && clnpr2e4 ]] ; then
|
||||
echo -e " $host must be mounted as binformd user\n" | tee -a ${LOGDIR}binformd${DATE}
|
||||
else
|
||||
ssh $host mount -a 2>&1 | tee -a ${LOGDIR}mountAll${DATE}
|
||||
fi
|
||||
done
|
||||
read temp;;
|
||||
|
||||
2)
|
||||
for host in $(cat $FILE); do
|
||||
if [[ $host =~ clnara* || clnars1d && clnars1m && clnsr206 && clnprp1d && clnprp1m && clnpr2e4 ]] ; then
|
||||
echo -e " $host must be mounted as binformd user\n"| tee -a ${LOGDIR}binformd${DATE}
|
||||
else
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts that were mounted**" && cat /etc/fstab |grep -v "^#" | grep sc |awk '\''{print $2}'\'' ) ; do mount $i; done' 2>&1 | tee -a ${LOGDIR}celeraMnt${DATE}
|
||||
fi
|
||||
done
|
||||
read temp;;
|
||||
|
||||
3)
|
||||
for host in $(cat $FILE); do
|
||||
if [[ $host =~ clnara* || clnars1d && clnars1m && clnsr206 && clnprp1d && clnprp1m && clnpr2e4 ]] ; then
|
||||
echo -e " $host must be mounted as binformd user\n"| tee -a ${LOGDIR}binformd${DATE}
|
||||
else
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts that were mounted**" && cat /etc/fstab |grep -v "^#" | grep noauto | grep -v sys |awk '\''{print $2}'\'' ) ; do mount $i; done' 2>&1 | tee -a ${LOGDIR}NoautoMnt${DATE}
|
||||
fi
|
||||
done
|
||||
read temp;;
|
||||
|
||||
4) main;;
|
||||
*) echo -e "Wrong Option Selected!!!"
|
||||
esac
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
|
||||
umount()
|
||||
{
|
||||
opt_checkstatus=1
|
||||
while [ $opt_checkstatus != 3 ]
|
||||
do
|
||||
clear
|
||||
echo -e "\n\t***** UnMount on servers *****\n
|
||||
1. UnMount all via fstab\n
|
||||
2. UnMount only Celera via fstab\n
|
||||
3. Go back to Main Menu"
|
||||
|
||||
read opt_checkstatus
|
||||
case $opt_checkstatus in
|
||||
1)
|
||||
for host in $(cat $FILE); do
|
||||
echo "are you sure? if so change the script"
|
||||
#ssh $host umount -a 2>&1 | tee -a ${LOGDIR}umountAll${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
2)
|
||||
for host in $(cat $FILE); do
|
||||
ssh $host 'for i in $(hostname && echo "**Mounts that were unmounted**" && cat /etc/fstab | grep -v "^#" | grep sc |awk '\''{print $2}'\'' ) ; do umount $i; done' 2>&1 | tee -a ${LOGDIR}NoautoUmnt${DATE}
|
||||
done
|
||||
read temp;;
|
||||
|
||||
3) main;;
|
||||
*) echo -e "Wrong Option Selected!!!"
|
||||
esac
|
||||
done
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
main()
|
||||
{
|
||||
opt_main=1
|
||||
while [ $opt_main != 4 ]
|
||||
do
|
||||
echo -e "/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\n"
|
||||
#############Check Mounts ############
|
||||
echo -e "\t*****Main Menu*****\n
|
||||
1. Checks mounts\n
|
||||
2. Mount\n
|
||||
3. Umount\n
|
||||
4. Exit"
|
||||
read opt_main
|
||||
case $opt_main in
|
||||
1) check ;;
|
||||
2) mount ;;
|
||||
3) umount ;;
|
||||
4) exit 0 ;;
|
||||
*) echo -e "Wrong option Selected!!!"
|
||||
esac
|
||||
done
|
||||
}
|
||||
main
|
||||
exit 0
|
Reference in New Issue
Block a user