| Version 3 (modified by chris, 3 years ago) (diff) |
|---|
SSHFS Mount Script
This is a script to mount files systems via SFTP using Fuse.
#!/bin/bash
# http://fuse.sourceforge.net/sshfs.html
# the place file systems are to be mounted
MOUNT_POINT="/media"
if [[ ! -d "$MOUNT_POINT" ]]; then
echo "It looks like $MOUNT_POINT doesn't exist?"
exit
fi
# check for server to mount on standard input
if [[ $1 ]]; then
SERVER=$1
elif [[ ! $1 ]]; then
echo "Type the server you want to mount and then [ENTER]:"
read server
SERVER=$server
fi
# check the server is setup in ~/.ssh/config
SSH_CONFIG=$(grep "Host $SERVER" ~/.ssh/config)
if [[ ! $SSH_CONFIG ]]; then
echo "It looks like you need to edit yur ~/.ssh/config"
echo "to add entries like this for each server:"
echo
echo "Host example"
echo " User root"
echo " Hostname example.org"
echo
exit
fi
# check if the mount point exists and if not create it
if [[ ! -d "$MOUNT_POINT/$SERVER"]]; then
echo "Creating $MOUNT_POINT/$SERVER"
mkdir "$MOUNT_POINT/$SERVER"
fi
# check if the file system appears to already be mounted
DF=$(df | awk -F' ' '{ print $6 }' | grep "$MOUNT_POINT/$SERVER")
if [[ $DF ]]; then
echo "It appears that $SERVER is already mounted at $DF?"
exit
fi
# Mount the file system
sshfs $SERVER:/ $MOUNT_POINT/$SERVER/
