29 lines
700 B
Bash
Executable File
29 lines
700 B
Bash
Executable File
#!/bin/bash
|
|
# depends on sshfs fuse for ssh
|
|
module_load filesystem # mounted
|
|
module_load net-utils # host_reachable
|
|
|
|
function smount(){
|
|
local HOST
|
|
HOST=$(sed 's/.*@\(.*\):.*/\1/' <<< "$1")
|
|
[[ ! $(host_reachable $HOST 22) ]] && echo host $HOST not reachable, aborting mount && return 1
|
|
if [[ $(mounted $2) ]]; then
|
|
echo "remote $1 already mounted at $2, aborting mount"
|
|
else
|
|
echo "mounting via ssh"
|
|
echo sshfs "$*"
|
|
mkdir -p $2
|
|
# can add any options after mount point directory like -o default_permissions
|
|
sshfs "$@"
|
|
fi
|
|
}
|
|
|
|
function usmount(){
|
|
if [[ $(mounted $1) ]]; then
|
|
echo "unmounting remote file system at $1"
|
|
fusermount -u $1
|
|
else
|
|
echo "nothing mounted at $1, aborting unmount"
|
|
fi
|
|
}
|