#!/bin/sh # /usr/local/sbin/rmbackup # # Use this script to remove the external SATA drive from the SCSI device list source /etc/functions-colors source /etc/functions-system # variables DRIVEMODEL and SMARTPARAMS are stored in /etc/functions-system BACKUPDRIVE=$DRIVEMODEL if [ -z "`lsscsi | grep $BACKUPDRIVE`" ]; then echo -e "${BOLDGREEN}$BACKUPDRIVE${BOLDRED} does not seem to be connected!${COLOR_RESET}" lsscsi echo exit fi echo -e "Attempting to remove ${BOLDGREEN}$BACKUPDRIVE${COLOR_RESET} from the SCSI list." HOSTS="`lsscsi | grep $BACKUPDRIVE | sed 's/\[//' | sed 's/\]//' | sed 's/\:/ /g' | awk '{print $1}'`" CHANNELS="`lsscsi | grep $BACKUPDRIVE | sed 's/\[//' | sed 's/\]//' | sed 's/\:/ /g' | awk '{print $2}'`" IDS="`lsscsi | grep $BACKUPDRIVE | sed 's/\[//' | sed 's/\]//' | sed 's/\:/ /g' | awk '{print $3}'`" LUNS="`lsscsi | grep $BACKUPDRIVE | sed 's/\[//' | sed 's/\]//' | sed 's/\:/ /g' | awk '{print $4}'`" echo lsscsi | grep $BACKUPDRIVE echo echo -e "HOSTS=${BOLDGREEN}$HOSTS${COLOR_RESET}" echo -e "CHANNELS=${BOLDGREEN}$CHANNELS${COLOR_RESET}" echo -e "IDS=${BOLDGREEN}$IDS${COLOR_RESET}" echo -e "LUNS=${BOLDGREEN}$LUNS${COLOR_RESET}" echo echo -e "${BOLDYELLOW}Removing${COLOR_RESET} $BACKUPDRIVE from SCSI list..." Wait_For_Response "Continue?" Proceed_From_Response echo -e "${BOLDWHITE}Checking mount status...${COLOR_RESET}" DEVICE="`lsscsi | grep $BACKUPDRIVE | awk '{print $7}'`" MOUNTPOINT="`mount | grep $DEVICE | awk '{print $1}'`" if [ -n "$MOUNTPOINT" ]; then echo -e "${BOLDYELLOW}Oops! Found ${BOLDGREEN}$BACKUPDRIVE${BOLDYELLOW} mounted at $MOUNTPOINT. Unmounting...${COLOR_RESET}" umount $MOUNTPOINT else echo "$BACKUPDRIVE does not seem to be mounted anywhere." fi echo mount echo echo -e "${BOLDYELLOW}Is the $BACKUPDRIVE powered off?${COLOR_RESET}" Wait_For_Response "Answering 'no' will keep the device on the scsi list:" Proceed_From_Response echo -e "${BOLDWHITE}This might take a few seconds...${COLOR_RESET}" # remove from scsi bus # caveat: the rescan-scsi-bus script will fail unless the sg3_utils package is installed rescan-scsi-bus --remove --hosts=$HOSTS --channels=$CHANNELS --ids=$IDS --luns=$LUNS &>/dev/null # show the user the results lsscsi echo # quietly remove any separate conky displays for the backup drive if [ -n "`ps ax | grep 'conky -t' | grep $DRIVEMODEL | grep -v grep`" ]; then PIDS="`ps ax | grep 'conky -t' | grep $DRIVEMODEL | awk '{print $1}' | grep -v grep`" for p in $PIDS ; do kill -9 $p done; fi # restart hddtemp daemon echo -e "${BOLDWHITE}Restarting hddtemp daemon..."${COLOR_RESET} killall hddtemp &>/dev/null hddtemp -d /dev/hda /dev/sda echo echo -e "${BOLDWHITE}Done.${COLOR_RESET}" echo