NUT + upssched скрипт.
Добавлено: 2012-03-10 23:50:23
Доброго времени суток. Имею проблему с NUT.
При выключении питания nut не срабатывал. Пришлось делать через upssched.
Скрипт запрограммирован так чтобы при выключении питания он создает файл запускает задержку. И если питания не появилось за 10 сек и файл есть то скрипт выключает систему. Если же питание появилось то файл удаляется и ничего не происходит.
Фишка в том что вручную запущен скрипт работает, а с под upsmon с правами uucp не хочет. Запускал я его этой командой:
sudo -u uucp /usr/local/bin/upssched-cmd PWR_DOWN
Фрагмент скрипта:
case $1 in
PWR_DOWN)
/usr/bin/logger -t ups " Recieve power down from ups";
touch /var/run/nut/shutdown.pid ;
sleep 10
/usr/bin/logger -t ups "Waiting for UP";
if [ -e /var/run/nut/shutdown.pid ]
then
/usr/bin/logger -t ups "SHUTDOWN!!!" ;
sudo /sbin/shutdown -p now "POWER DOWN!!!" ;
fi
;;
PWR_UP)
/usr/bin/logger -t ups " Recieve power up from ups"
rm /var/run/nut/shutdown.pid
;;
Фрагмент лога;
вручную:
Recieve power down from ups
~~ ups: Waiting for UP
~~ ups: SHUTDOWN!!!
~~ sudo: uucp : TTY=pts/1 ; PWD=/usr/local/bin ; USER=root ...
Упало питание:
~~upsmon[]: UPS mustek@localhost on battery
~~upssched-cmd: uid=66(uucp) gid=66(uucp) groups=66(uucp) // ЮЗЕР uucp
~~ups: Recieve power down from ups
~~ups: Waiting for UP
~~ups: SHUTDOWN!!!
~~upsmon[]: UPS mustek@localhost on line power
~~upssched-cmd: uid=66(uucp) gid=66(uucp) groups=66(uucp)
~~ups: Recieve power up from ups
в sudoerrs я разрешил пользователю uucp тушить машину.
Подскажите что делать не хочется давать скрипту права рута, и выносить отдельно скрипт.
При выключении питания nut не срабатывал. Пришлось делать через upssched.
Скрипт запрограммирован так чтобы при выключении питания он создает файл запускает задержку. И если питания не появилось за 10 сек и файл есть то скрипт выключает систему. Если же питание появилось то файл удаляется и ничего не происходит.
Фишка в том что вручную запущен скрипт работает, а с под upsmon с правами uucp не хочет. Запускал я его этой командой:
sudo -u uucp /usr/local/bin/upssched-cmd PWR_DOWN
Фрагмент скрипта:
case $1 in
PWR_DOWN)
/usr/bin/logger -t ups " Recieve power down from ups";
touch /var/run/nut/shutdown.pid ;
sleep 10
/usr/bin/logger -t ups "Waiting for UP";
if [ -e /var/run/nut/shutdown.pid ]
then
/usr/bin/logger -t ups "SHUTDOWN!!!" ;
sudo /sbin/shutdown -p now "POWER DOWN!!!" ;
fi
;;
PWR_UP)
/usr/bin/logger -t ups " Recieve power up from ups"
rm /var/run/nut/shutdown.pid
;;
Фрагмент лога;
вручную:
Recieve power down from ups
~~ ups: Waiting for UP
~~ ups: SHUTDOWN!!!
~~ sudo: uucp : TTY=pts/1 ; PWD=/usr/local/bin ; USER=root ...
Упало питание:
~~upsmon[]: UPS mustek@localhost on battery
~~upssched-cmd: uid=66(uucp) gid=66(uucp) groups=66(uucp) // ЮЗЕР uucp
~~ups: Recieve power down from ups
~~ups: Waiting for UP
~~ups: SHUTDOWN!!!
~~upsmon[]: UPS mustek@localhost on line power
~~upssched-cmd: uid=66(uucp) gid=66(uucp) groups=66(uucp)
~~ups: Recieve power up from ups
в sudoerrs я разрешил пользователю uucp тушить машину.
Подскажите что делать не хочется давать скрипту права рута, и выносить отдельно скрипт.