56 lines
1.3 KiB
Bash
Executable File
56 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
################################################
|
|
#
|
|
# Spin up the given SCSI disk(s).
|
|
#
|
|
# SCSI disks (or disks that understand SCSI commands)
|
|
# are assumed. By default, the immediate bit is set so the
|
|
# command should return immediately. The disk however will
|
|
# take 10 seconds or more to spin up. The '-w' option
|
|
# causes each start to wait until the disk reports that it
|
|
# has started.
|
|
#
|
|
# This script assumes the sg3_utils package is installed.
|
|
#
|
|
###############################################
|
|
|
|
verbose=""
|
|
immediate="-i"
|
|
|
|
usage()
|
|
{
|
|
echo "Usage: scsi_start [-h] [-v] [-w] <device>+"
|
|
echo " where:"
|
|
echo " -h, --help print usage message"
|
|
echo " -v, --verbose more verbose output"
|
|
echo " -w, --wait wait for each start to complete"
|
|
echo ""
|
|
echo "Send SCSI START STOP UNIT command to start each <device>"
|
|
}
|
|
|
|
opt="$1"
|
|
while test ! -z "$opt" -a -z "${opt##-*}"; do
|
|
opt=${opt#-}
|
|
case "$opt" in
|
|
h|-help) usage ; exit 0 ;;
|
|
v|-verbose) verbose="-v" ;;
|
|
w|-wait) immediate="" ;;
|
|
*) echo "Unknown option: -$opt " ; exit 1 ;;
|
|
esac
|
|
shift
|
|
opt="$1"
|
|
done
|
|
|
|
if [ $# -lt 1 ]
|
|
then
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
for i
|
|
do
|
|
echo "sg_start $immediate 1 $verbose $i"
|
|
sg_start $immediate 1 $verbose $i
|
|
done
|