Commit 2f43d7cb authored by Pavel Beketov's avatar Pavel Beketov

add blink_manual.sh

parent d6c44991
#!/bin/bash
# Устройства, которыми нужно мигать
echo "Введите нужные диски через пробел (например: sde sdf sdi sdl sdw):"
read -r DISKS
#DISKS="sde sdf sdi sdl sdw"
# SES устройство полки
SES_DEV="/dev/sg26"
DURATION=30
INTERVAL=1
SLOTS=""
echo "Определяем слоты для дисков..."
for d in $DISKS; do
SYS="/sys/class/block/$d/device"
ENC=$(ls -d $SYS/enclosure_device:* 2>/dev/null | head -n1)
if [[ -z "$ENC" ]]; then
echo "WARNING: диск $d не привязан к enclosure_device. Слот не найден"
continue
fi
if [[ ! -f "$ENC/slot" ]]; then
echo "WARNING: нет файла slot для $d ($ENC)"
continue
fi
SLOT=$(cat "$ENC/slot")
echo "$d находится в слоте $SLOT"
SLOTS="$SLOTS $SLOT"
done
if [[ -z "$SLOTS" ]]; then
echo "Нет слотов для мигания, выходим"
exit 1
fi
echo "В течение 30 сек. будут мигать слоты: $SLOTS"
end_time=$((SECONDS + DURATION))
blink_on() {
for s in $SLOTS; do
sg_ses --index="$s" --set=ident "$SES_DEV" >/dev/null 2>&1
done
}
blink_off() {
for s in $SLOTS; do
sg_ses --index="$s" --clear=ident "$SES_DEV" >/dev/null 2>&1
done
}
while [[ $SECONDS -lt $end_time ]]; do
blink_on
sleep $INTERVAL
blink_off
sleep $INTERVAL
done
blink_off
echo "Готово!"
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment