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