Bash script for Linux to check a share is mounted, attempt recovery and remount.
In it’s current form, only outputs anything if action is required. This make it suitable for cron (for my purposes anyway) so that I only get notified if something happened, currently used to make sure a share exists before running a nightly backup.
#!/usr/bin/env sh
# check if share is mounted, attempt recovery and remount
if [ -z "$1" ]; then
    echo "Usage: $0 /mount/point/to/check"
    exit 0
fi
DIR="$1"
if grep -qs "$DIR" /proc/mounts; then   
    # echo "$DIR is mounted."
    exit 0
else
    echo "$DIR is not mounted."
    if [ "$(ls -A $DIR)" ]; then
        NEWDIR="$DIR-`date +%F-%k-%M-%S`"
        echo "Files exist so renaming $DIR -> $NEWDIR"
        mv "$DIR" "$NEWDIR"
        mkdir -p "$DIR"
    fi
    echo "Attempt remount..."
    mount -a
fi
Also available as a Gist