mount scripts
Posted 08-27-2012 at 02:39 PM by ted_chou12
These are scripts that searches for local drives and network shares (cifs). I am putting this up for whoever looking for a ready made script also for my future references:
Code:
#mounts start with f tbmounted=(f g h i j k l m n o p q r s t u v w x y z) for each in "/dev/sd"* ; do mname=${each##*/} for alphabet in ${tbmounted[@]} ; do if [ "$mname" == "sd$alphabet" ] ; then mounts=$(mount | grep "$each") if [ -z "$mounts" ] ; then i=1 if [ ! -e "/dev/$mname$i" ] ; then if [ ! -d "/mnt/$mname" ] ; then mkdir "/mnt/$mname" fi mount -o utf8 "/dev/$mname" "/mnt/$mname" echo "USB device $mname is mounted at \"/mnt/$mname\"!" else while (( $i < 10 )) ; do if [ ! -e "/dev/$mname$i" ] ; then if [ ! -d "/mnt/$mname" ] ; then mkdir "/mnt/$mname" fi mount -o utf8 "/dev/$mname$((i-1))" "/mnt/$mname" echo "USB device $mname is mounted at \"/mnt/$mname\"!" ; break fi i=$((i+1)) done fi fi fi done done if [ -e "/dev/sr0" ] ; then if [ -z "$1" ] ; then if [ -z "$(mount | grep "/dev/sr0")" ] ; then mount -o ro "/dev/sr0" "/mnt/cdrom" echo "CD-rom is mounted at \"/mnt/cdrom\"!" fi else umount "/mnt/cdrom" fi fi if [ ! -z "$1" ] ; then for each in ${tbmounted[@]} ; do mounts=$(mount | grep "sd$each") if [ ! -z "$mounts" ] ; then umount "/mnt/sd$each" rm -r "/mnt/sd$each" fi done fi
Code:
output="$(nmblookup -S workgroup)" IFS=" " outputs=($output) for each in ${outputs[@]} ; do if [ "${each:0:10}" == "192.168.1." ] && [ "${each:0:13}" != "192.168.1.255" ] ; then IFS=" " parts=($each) ; ip="${parts[0]}" ; netbios="${parts[1]}" if [ ! -e "/mnt/share/$netbios" ] ; then mkdir "/mnt/share/$netbios" fi output1="$(smbclient -N -L //$ip -g)" IFS=" " dirs=($output1) for each1 in ${dirs[@]} ; do if [ "${each1:0:4}" == "Disk" ] ; then IFS="|" dir=($each1) if [ ! -e "/mnt/share/$netbios/${dir[1]}" ] ; then mkdir "/mnt/share/$netbios/${dir[1]}" fi if [ -z "$1" ] ; then echo -n "mounting //$netbios/${dir[1]}......................" fb=$(mount -t cifs -o username=ted,password= //"$ip"/"${dir[1]}" /mnt/share/"$netbios"/"${dir[1]}" 2>&1 >/dev/null) if [ -z "$fb" ] ; then echo " OK" else echo " Failed" fi else echo -n "umounting /mnt/share/$netbios/${dir[1]}..................." fb=$(umount "/mnt/share/$netbios/${dir[1]}" 2>&1 >/dev/null) if [ -z "$fb" ] ; then echo " OK" else echo " Failed" fi fi i=$((i+1)) fi done fi done
Total Comments 0