#!/bin/bash
# Mount and format disks if not already done
# Of course only format once!
DEVICE=${1:-Unset}
MOUNT=${2:-Unset}
function bail() { echo -e "${1:-Unknown Error}\n" >&2; exit ${2:-1}; }
if [[ "$DEVICE" == "Unset" ]] || [[ "$MOUNT" == "Unset" ]]; then
bail "Arguments are required: DEVICE MOUNT"
fi
count=$(file -s $DEVICE | grep "$DEVICE: data" | wc -l)
if [[ $count == 1 ]]; then
echo "Filesystem not formatted"
mkfs -t ext4 $DEVICE
else
echo "Filesystem already formatted"
fi
if [[ ! -d $MOUNT ]]; then
echo "Creating directory"
mkdir $MOUNT
fi
rc=$(df -h | grep "$MOUNT" | wc -l)
if [[ $rc == 0 ]]; then
echo "Not mounted"
mount "$DEVICE" "$MOUNT"
fi
# echo /dev/xvdh /hxmetadata ext4 defaults,nofail 0 2 >> /etc/fstab
# echo /dev/xvdi /hxlogs ext4 defaults,nofail 0 2 >> /etc/fstab
# echo /dev/xvdj /hxdepots ext4 defaults,nofail 0 2 >> /etc/fstab
rc=$(grep "$MOUNT" /etc/fstab | wc -l)
if [[ $rc == 0 ]]; then
echo "$DEVICE $MOUNT ext4 defaults,nofail 0 2" >> /etc/fstab
fi