59 lines
1.1 KiB
Bash
Executable File
59 lines
1.1 KiB
Bash
Executable File
#!/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."
|
|
exit 1;
|
|
}
|
|
|
|
check_dir (){
|
|
file_count=$(ls $MOUNT_DIR/. | wc -l)
|
|
|
|
if [ "$file_count" -ge 1 ]
|
|
then
|
|
echo ""
|
|
echo "Directory has been mounted at:" $MOUNT_DIR
|
|
else
|
|
echo ""
|
|
echo "Directory has been 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)
|
|
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)
|
|
umount $MOUNT_DIR
|
|
iscsiadm --mode node --targetname $IQN --portal $PORTAL_IP --logout
|
|
check_dir
|
|
exit 0;
|
|
;;
|
|
-*)
|
|
show_usage
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Show usage if no parameters have been passed
|
|
if [[ $# -eq 0 ]]
|
|
then
|
|
show_usage
|
|
fi |