LINUX.ORG.RU
ФорумAdmin

Хочу выключать систему при перегреве винчестера


0

0

Подскажите, пожалуйста, какие-нибудь более-менее готовые решения для сабжа. Например, можно было бы слушать логи smartd на предмет температуры и запускать нужные команды... Или ещё как-то. Лишь бы поменьше самому писать. В Debian Lenny желательно.

Заранее спасибо за помощь.

P.S. И для винды заодно! :-)


Ответ на: комментарий от urxvt

Вроде smartd сам умеет запускать скрипт, (опция -M), и ему можно указать при какой температуре нужно писать логи, то есть для температуры 50 градусов:

smartd -m '<nomailer>' -M exec /usr/local/sbin/smartexec.sh -W 0,50,55

А в файле /usr/local/sbin/smartexec.sh пишем башизм:

#!/bin/bash

 if [[ "$SMARTD_MESSAGE" == *emperature* ]] ; then
     wall 'HDD overheat. Shutdown'
     shutdown -h -t 15
 fi
 

P.S. Скрипт не проверял. Относительно винды идите на винфак.

mky ★★★★★
()
#!/bin/sh

TEMP_CRIT=50; #предельная температура
POLLING_TIMEOUT="5s"; #интервал проверки
DEVICE="/dev/sda" #устройство

# проверка прав
if [ ! $UID == "0" ]; then
	echo "You must be root to run this!";
	exit 1;
fi

# наш PID
echo "Starting with PID" `pidof sh $0`;

# получаем температуру
TEMP=`hddtemp -n $DEVICE`;

# гоняем по кругу, пока температура не достигнет предельно-допустимой
while (($TEMP <= $TEMP_CRIT)); do
	TEMP=`hddtemp -n $DEVICE`;
	sleep $POLLING_TIMEOUT;
done

echo "Critical HDD temperature! System will be shutdown.";

# выключаем машину
poweroff

Несложный вариант для одного диска.

GotF ★★★★★
()
Ответ на: комментарий от Sylvia

> лучше бы в причине перегрева разобрались...

Причина известна: ненадёжный и слабый кондиционер с замерзающим зимой сливом и спонтанные кратковременные выключения электричества. А работать должно 24/7...

yz
() автор топика
Ответ на: комментарий от yz

А работать должно 24/7...

если оно периодически отключается от перегрева то это уже не 24/7 :)

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.