Решил поделиться своим решением для ИБП без управления (честно говоря подсмотрено в сети, но готовое решение для Сино трудно было найти). Возможно кому-то как временное решение до покупки полноценного UPS подойдёт, тем более нет ничего более постоянного чем колхоз.
Критика приветствуется, с учётом того, что не стал дорабатывать кудряшки и финтяфлюшки, каждый сам пускай напридумывает...
Логика работы простая - Nas подключаем через UPS. Сам Nas связан с устройством по сети, которое при потере электропитания выключается. Соответственно скрипт пингует устройство, если пинг пропадает, Nas автоматически "гасится". UPS не жалко, он дешёвый и батарея - фиг с ней... В скрипте предусмотрена логика отслеживания кратковременного пропадания питания на время примерно 4 минуты, т.е. если был кратковременный скачок (пропадание) питания, то NAS продолжит работу.
В скрипте предусмотрены остались закоментированные строки для отладки, их можно при желании удалить.
Туториал (Показать контент)
Панель управление- Планировщик задач - Создать - Запущенная задача - Скрипт созданный пользователем:
В общих: "Пользователь" - root; "Событие" - загрузка
В "Настройки задач" - "выполнить задачу" - прописываем путь к скрипту
Сам скрипт можно скачать ниже спойлера или скопипастить прямо тут:
#!/bin/sh
# Доступность этого хоста (роутер) будет означать доступность электропитания
HOST=192.168.0.1
# Файл журнала
LOGFILE=/volume1/Logs/Shutdown_ping.log
# Запись в журнале о загрузке
echo `date +'%Y/%m/%d %H:%M:%S'` Load nas >> ${LOGFILE}
# Пауза при старте 180 сек
# sleep 180
while true; do
# Пингуем хост
ping -c 1 $HOST > /dev/null
# Если возникла ошибка (хост не доступен)
if [ $? -ne "0" ]; then
# Делаем запись в журнал
echo `date +'%Y/%m/%d %H:%M:%S'` Not pinging >> ${LOGFILE}
######################################################################
#Повторная проверка, если вдруг не пингуется (задержка 240 сек):
sleep 240
# Пингуем хост
ping -c 1 $HOST > /dev/null
# Если повторная ошибка (нет пинга)
if [ $? -ne "0" ]; then
# Делаем запись в журнал
echo `date +'%Y/%m/%d %H:%M:%S'` Doesnt ping so nas shuts down >> ${LOGFILE}
# выключаем Nas
# Пауза перед выключением (а вдруг нужна для завершения процессов) 1 сек
# sleep 1
# poweroff -p
/sbin/poweroff
# Если пингуется
# else
# Делаем запись в журнал (раскомментировать строку нижу)
# echo `date +'%Y/%m/%d %H:%M:%S'` Pinging now Ok >> ${LOGFILE}
fi
########################################################################
# Если пингуется
# else
# Делаем запись в журнал (раскомментировать строку нижу)
# echo `date +'%Y/%m/%d %H:%M:%S'` Power Ok >> ${LOGFILE}
fi
# Пауза между проверками 1 минута
sleep 60
done;
Сильно ногами не бить, просто хотел помочь нуждающимся.
UPS (ИБП) и XPenology
in Аппаратное обеспечение и совместимость
Posted
Уважаемые, кто-нибудь использовал этот скрипт?