#!/bin/bash DISK_UUID="12E6B87AE6B86021" IQN="iqn.2000-01.com.synology:SR3.VMs" PORTAL_IP="192.168.0.3" MOUNT_DIR="/home/dunestorm/VMs" show_usage (){ echo "Please use either '-m (--mount)' to mount or '-u (--umount)' to unmount this volume." echo "The use of '-s (--status)' is additionally an option." exit 1; } check_dir (){ file_count=$(ls $MOUNT_DIR/. | wc -l) if [ "$file_count" -ge 1 ] then echo "" echo "Directory is mounted at:" $MOUNT_DIR else echo "" echo "Directory is un-mounted from:" $MOUNT_DIR fi } # Check for admin rights if [[ $EUID -ne 0 ]] then echo "You may only mount as root, please re-run with appropriate permissions." exit 1; fi # Process input parameters while (( "$#" )); do case "$1" in -m|--mount) echo "[Attempting to mount iSCSI volume]" iscsiadm --mode node --targetname $IQN --portal $PORTAL_IP --login sleep 3 mount /dev/disk/by-uuid/$DISK_UUID $MOUNT_DIR check_dir exit 0; ;; -u|--umount) echo "[Attempting to un-mount iSCSI volume]" umount $MOUNT_DIR iscsiadm --mode node --targetname $IQN --portal $PORTAL_IP --logout check_dir exit 0; ;; -s|--status) echo "[Showing status of mount-point]" check_dir exit 0; ;; -*) show_usage ;; esac done # Show usage if no parameters have been passed if [[ $# -eq 0 ]] then show_usage fi